热门关键字:
jquery > jquery插件 > js特效 > 网友大白分享原生js幻灯片特效

网友大白分享原生js幻灯片特效

6263
所属分类:js特效
发布时间:2015/1/24 22:01:10
下载量:656
评论数:2
转载请自觉注明原文:http://www.jq-school.com/Detail.aspx?id=459

首先非常感谢网友大白的无私分享,此作品是一款幻灯片js特效,是用原生javascript实现的,效果很棒,使用也很简单,可以直接拿使用,具体的查看作品源代码。。。


幻灯片源码如下:


function SlideAd(eleId, speedSeconds)
{
    var speedSeconds = speedSeconds || 5; //默认5秒变动一次
    var AdElement = document.getElementById(eleId);
    var height = AdElement.offsetHeight;
    if (AdElement.addEventListener) {
        AdElement.addEventListener('click', function (event) {
            var target = event.target || event.srcElement;
            if (target != null) {
                if (target.tagName == "LI") {
                    var index = parseInt(target.innerHTML) - 1;
                    AdElement.Move(index);
                    AdElement.Index = (index + 1) % AdElement.getElementsByTagName("li").length;
                }
            }
        }, false);
    }
    if (AdElement.attachEvent) {
        AdElement.attachEvent('onclick', function (event) {
            var target = event.target || event.srcElement;
            if (target != null) {
                if (target.tagName == "LI") {
                    var index = parseInt(target.innerHTML) - 1;
                    AdElement.Move(index);
                    AdElement.Index = (index + 1) % AdElement.getElementsByTagName("li").length;
                }
            }
        });
    }

    AdElement.Move = function (index) {
        var index = index || 0;
        this.Stop();
        var panel = this.getElementsByTagName("div")[1];
        var top = index * height;
        var list = this.getElementsByTagName("li");
        list[index].setAttribute("class", "Activate");
        list[index].setAttribute("className", "Activate");
        for (var i = 0; i < list.length; i++) {
            if (index != i) {
                list[i].removeAttribute("class");
                list[i].removeAttribute("className");
            }
        }
        this.SlideHandle = window.setInterval(function () { AdElement.Slide(panel, top); }, 10);
    };


    AdElement.MoveHandle = window.setInterval(function () {
        var index = AdElement.Index || 0;
        AdElement.Move(index);
        AdElement.Index = (index + 1) % AdElement.getElementsByTagName("li").length;
    }, speedSeconds * 1000);

    AdElement.Stop = function () {
        if (this.SlideHandle != null) {
            window.clearInterval(this.SlideHandle);
        }
    };

    AdElement.Slide = function (panel, top) {
        if (panel.scrollTop < top)
        {
            var step = Math.floor((top - panel.scrollTop) / 20);
            if (step < 10) {
                panel.scrollTop = panel.scrollTop + 1;
            }
            else {
                panel.scrollTop = panel.scrollTop + step;
            }
        }
        else if (panel.scrollTop > top) {
            var step = Math.floor((panel.scrollTop - top) / 20);
            if (step < 10) {
                panel.scrollTop = panel.scrollTop - 1;
            }
            else {
                panel.scrollTop = panel.scrollTop - step;
            }
        }
        else {
            this.Stop();
        }
    };
}


效果如下:

网友莆田分享原生js幻灯片特效





如果您觉得本作品对您的学习有所帮助:支付鼓励



关键字:幻灯片 图片播放 滑动插件 图片滚动 js特效
  • 网友大白分享原生js幻灯片特效如果你喜欢学院的资源就下载吧,亲,谢谢!
  • 网友大白分享原生js幻灯片特效
  • 网友大白分享原生js幻灯片特效
  • 提示:如果网络问题无法下载,请多尝试几次,与 网站管理员联系 或 本站留言 !

声明: 本站内容均为网友原创或整理于互联网,版权归作品最初创作人,转载请注明(出处)原文链接,转载前请邮件至磐temdy@qq.com,一旦发现造成侵权行为,后果自负。。

友荐云推荐