Jquery简单幻灯片

看了许多jquery的幻灯片,自己也想学着弄一个,简单是简单了一点。不过研究过,还是比较安慰的啦, 以下代码并未在生产环境中使用过,如果您要在生产环境中使用,请慎重

/* slide(FrameId, FrameWidth, FrameHeight, UlId, isshow,Intervaltime) 外层对象ID,外层宽度,外层高度,内层ID,是否显示半透明层,切换时间间隔 */ function slide(FrameId, FrameWidth, FrameHeight, UlId, isshow, Intervaltime) { var index = 0; var count = -1; //设置图片切换动画 function setlistatus() { $("#" + FrameId + " #" + UlId + " li").fadeOut("slow"); $("#" + FrameId + " .ulorder li").removeClass("on") $("#" + FrameId + " #" + UlId + " li:eq(" + index + ")").fadeIn("slow"); $("#" + FrameId + " .ulorder li:eq(" + index + ")").addClass("on"); index++; if (index >= count) { index = 0; } if (isshow) { var _href = $("#" + FrameId + " #" + UlId + " li:eq(" + index + ") a").attr("href"); var _title = $("#" + FrameId + " #" + UlId + " li:eq(" + index + ") a").attr("title"); if (_title != null && _title != "" && _title != undefined) { $("#" + FrameId + " .transparent").html(""); $("#" + FrameId + " .transparent").html("<a href='" + _href + "' title='" + _title + "'>" + _title + "</a>"); } } } //初始化样式 function setStyle() { var style = "<style type=\"text/css\">"; style += "#" + FrameId + " img{ border:0px;}"; style += "#" + FrameId + " ul,li{ padding:0px; margin:0px;}"; style += "#" + FrameId + "{height:" + FrameHeight + "px; width:" + FrameWidth + "px; overflow:hidden; border:5px #ccc solid;}"; style += "#" + FrameId + " li{list-style:none}"; style += "#" + FrameId + " .ulorder{ position:absolute;z-index:100;}"; style += "#" + FrameId + " .ulorder li{ cursor:pointer; float:left; font-weight:bold; padding:2px 5px; background-color:White; margin-right:5px; text-align:center}"; style += "#" + FrameId + " .ulorder .on{ background-color:Red; color:White}"; if (isshow) { style += "#" + FrameId + " .transparent{padding-left:15px; height:50px; line-height:50px; background-color:black;position:absolute;z-index:50}"; style += "#" + FrameId + " .transparent a{ color:White}"; } style += "</style>"; return style; } //初始化序号 function slideInit() { count = $("#" + FrameId + " ul li").length; //添加序号 var ulstr = "<ul class='ulorder'>" for (var i = 1; i <= count; i++) { ulstr += "<li>" + i + "</li>"; } ulstr += "</ul>"; $("#" + FrameId).append(ulstr); //为序号添加点击事件 $("#" + FrameId + " .ulorder li").bind("click", function () { index = $(this).index(); clearInterval(dingshi); setlistatus(); dingshi = setInterval(setlistatus, Intervaltime); }); var contentHeight = $("#" + FrameId).height() + $("#" + FrameId).position().top; var contentWidth = $("#" + FrameId).width() + $("#" + FrameId).position().left; var ulorderHeight = $("#" + FrameId + " .ulorder").height(); var ulorderWidth = $("#" + FrameId + " .ulorder").width(); $("#" + FrameId + " .ulorder").css("top", (contentHeight - ulorderHeight) + "px"); $("#" + FrameId + " .ulorder").css("left", (contentWidth - ulorderWidth) + "px"); if (isshow) { //添加半透明 style='height:100px;width:" + FrameWidth + "px' var transparent = "<div class=\"transparent\">"; transparent += "</div>"; $("#" + FrameId).append(transparent); $("#" + FrameId + " .transparent").css('opacity', 0.6); $("#" + FrameId + " .transparent").css('width', (FrameWidth - parseInt($("#" + FrameId+ " .transparent").css("padding-left"))) + "px"); var transparentHeight = $("#" + FrameId + " .transparent").height(); var transparentWidth = $("#" + FrameId + " .transparent").width(); var bordtop =parseInt($("#" + FrameId).css("border-top-width")); $("#" + FrameId + " .transparent").css("top", (contentHeight - transparentHeight + bordtop) + "px"); $("#" + FrameId + " .transparent").css("left", ($("#" + FrameId).position().left + $("#" + FrameId).css("border-left-width")) + "px"); } setlistatus(); var dingshi = setInterval(setlistatus, Intervaltime); } $("#" + FrameId).append(setStyle()); slideInit(); }
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script> <script src="Scripts/Slide.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready( function() { slide("DuDuCMSRoll", 600, 417, "content", true,5000); slide("Div1", 450, 300, "Ul1",false,3000); } ); </script> </head> <body> <div id="DuDuCMSRoll"> <ul id="content"> <li><a href="http://www.baidu.com?id=1" title="kong"> <img alt="kong" src="http://pic.sc.chinaz.com/files/pic/pic7/xpic1247.jpg" /></a></li> <li><a href="http://www.baidu.com?id=2" title="郊外风景图片下载"> <img alt="郊外风景图片下载" src="http://pic.sc.chinaz.com/files/pic/pic6/pic488.jpg" /></a></li> <li><a href="http://www.baidu.com?id=3" title="高清养生少女图片下载"> <img alt="高清养生少女图片下载" src="http://pic.sc.chinaz.com/files/pic/pic7/pic3865.jpg" /></a></li> <li><a href="http://www.baidu.com?id=4" title="不知道"> <img alt="不知道" src="http://pic.sc.chinaz.com/files/pic/pic7/xpic1763.jpg" /></a></li> <li><a href="http://www.baidu.com?id=5" title="绿色叶子图片下载"> <img alt="绿色叶子图片下载" src="http://pic.sc.chinaz.com/files/pic/pic6/pic626.jpg" /></a></li> </ul> </div> <div id="Div1"> <ul id="Ul1"> <li><a href=""> <img alt="kong" src="http://pic.sc.chinaz.com/files/pic/pic7/xpic1247.jpg" /></a></li> <li><a href=""> <img alt="郊外风景图片下载" src="http://pic.sc.chinaz.com/files/pic/pic6/pic488.jpg" /></a></li> <li><a href=""> <img alt="高清养生少女图片下载" src="http://pic.sc.chinaz.com/files/pic/pic7/pic3865.jpg" /></a></li> <li><a href=""> <img alt="不知道" src="http://pic.sc.chinaz.com/files/pic/pic7/xpic1763.jpg" /></a></li> <li><a href=""> <img alt="绿色叶子图片下载" src="http://pic.sc.chinaz.com/files/pic/pic6/pic626.jpg" /></a></li> </ul> </div> </body> </html>

转载于:https://www.cnblogs.com/anyan/archive/2011/12/13/2310123.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单jQuery幻灯片代码,可以单独控制时间和鼠标悬停: HTML: ```html <div id="slideshow"> <ul> <li><img src="img1.jpg" alt="Image 1"></li> <li><img src="img2.jpg" alt="Image 2"></li> <li><img src="img3.jpg" alt="Image 3"></li> </ul> </div> ``` CSS: ```css #slideshow { position: relative; height: 300px; overflow: hidden; } #slideshow ul { list-style: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } #slideshow ul li { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease-in-out; } #slideshow ul li.active { opacity: 1; } ``` jQuery: ```javascript $(document).ready(function() { // 设置幻灯片的总时间 var total_time = 5000; // 初始化幻灯片 var slideshow = $("#slideshow"); var slides = slideshow.find("ul li"); var current_slide = 0; slides.eq(current_slide).addClass("active"); // 启动幻灯片定时器 var timer = setInterval(function() { // 切换到下一张幻灯片 slides.eq(current_slide).removeClass("active"); current_slide = (current_slide + 1) % slides.length; slides.eq(current_slide).addClass("active"); }, total_time); // 当鼠标悬停在幻灯片上时暂停定时器 slideshow.hover(function() { clearInterval(timer); }, function() { timer = setInterval(function() { slides.eq(current_slide).removeClass("active"); current_slide = (current_slide + 1) % slides.length; slides.eq(current_slide).addClass("active"); }, total_time); }); // 单独控制每张幻灯片的时间 var slide_times = [3000, 4000, 5000]; var slide_timers = []; for (var i = 0; i < slides.length; i++) { (function(index) { slide_timers[index] = setInterval(function() { if (index == current_slide) { slides.eq(current_slide).removeClass("active"); current_slide = (current_slide + 1) % slides.length; slides.eq(current_slide).addClass("active"); } }, slide_times[index]); })(i); } }); ``` 这个代码使用了两个定时器,一个定时器控制整个幻灯片的时间,另一个定时器控制每张幻灯片的时间。同时,当鼠标悬停在幻灯片上时,定时器会被暂停。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值