Mslider是一个幻灯片切换的插件,本插件由原生JavaScript所编写,不需要任何JS库。
更多参数设置,请参考底部:Mslider 更多参数
<script type="text/javascript" src="Mslider.js"><script>
<div class="slider" id="slider"> <ul> <li><a href="#"><img src="images/4.jpg" /></a></li> <li><a href="#"><img src="images/3.jpg" /></a></li> <li><a href="#"><img src="images/2.jpg" /></a></li> <li><a href="#"><img src="images/1.jpg" /></a></li> <li><a href="#"><img src="images/4.jpg" /></a></li> <li><a href="#"><img src="images/3.jpg" /></a></li> </ul> </div>
PS:以上结构为必须结构,否则插件可能将无法运行。如需要扩展像 上一张,下一张 功能,或者幻灯右下方的小导航则要另编写HTML。下面将会继续介绍。
.slider { width:480px; height:320px; overflow:hidden; }
PS:以上 CSS 写是必须的,需要定宽,定高,然后设置 overflow 为 hidden 。
<script type="text/javascript"> new Mslider({ id : 'slider', //对应幻灯容器的ID名 auto : true //是否开启自动播放,默认不开启 }); </script>
PS:以上就会形成一个最基本的图片切换效果。它将不会包含 上一张,下一张 和 幻灯右下角导航的功能。
<div class="slider" id="slider"> <ul> <li><a href="#"><img src="images/4.jpg" /></a></li> <li><a href="#"><img src="images/3.jpg" /></a></li> <li><a href="#"><img src="images/2.jpg" /></a></li> <li><a href="#"><img src="images/1.jpg" /></a></li> <li><a href="#"><img src="images/4.jpg" /></a></li> <li><a href="#"><img src="images/3.jpg" /></a></li> </ul> <a href="javascript:;" class="arrow arrow-left" id="arrow-left"></a> <a href="javascript:;" class="arrow arrow-right" id="arrow-right"></a> </div>
PS:以上增加的 HTML 不局限在 slider 容器,可以将他放在外面,这看功能需求了,CSS须自己扩展,只要将 上一张的 ID名 对应插件参数的 arrow-left, 下一张的 ID名 对应插件参数 arrow-right 即可。
.arrow { display:none; position:absolute; top:50%; margin-top:-15px; width:30px; height:30px; background:url(images/arrows.png) no-repeat 0px 0px; z-index:20; } .arrow-left { left:10px; background-position:0px 0px; } .arrow-right { right:10px; background-position:-30px 0px; }
<script type="text/javascript"> new Mslider({ id : 'slider', //对应幻灯容器的ID名 auto : true, //是否开启自动播放,默认不开启 arrowLeft : 'arrow-left', //上一张 arrowRight : 'arrow-right', //下一张 isHidden : true //是否自动隐藏 上一张,下一张箭头,默认不开启 }); </script>
<div class="slider" id="slider"> <ul> <li><a href="#"><img src="images/4.jpg" /></a></li> <li><a href="#"><img src="images/3.jpg" /></a></li> <li><a href="#"><img src="images/2.jpg" /></a></li> <li><a href="#"><img src="images/1.jpg" /></a></li> <li><a href="#"><img src="images/4.jpg" /></a></li> <li><a href="#"><img src="images/3.jpg" /></a></li> </ul> <a href="javascript:;" class="arrow arrow-left" id="arrow-left"></a> <a href="javascript:;" class="arrow arrow-right" id="arrow-right"></a> </div> <div class="promo-nav" id="promo-nav"></div>
PS:以上只要写个容器即可,CSS须自己扩展。里面的 UL li 由插件自动生成,此容器也是不局限于哪个容器下,也只要对应插件的 nav 参数即可。
.promo-nav { position:absolute; bottom:10px; right:10px; height:13px; line-height:9px; text-align:center; border-radius:10px; z-index:22; background:rgba(255, 255, 255, 0.3); filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#4CFFFFFF', EndColorStr='#4CFFFFFF'); } .promo-nav ul li { float:left; vertical-align:middle; zoom:1; margin:2px 3px; } .promo-nav ul li a { font:0 a; text-indent:-9999px; display:block; width:9px; height:0px; padding-top:9px; border-radius:50%; background:#B7B7B7; overflow:hidden; } .promo-nav ul li a.current { background:#F40; }
<script type="text/javascript"> new Mslider({ id : 'slider', //对应幻灯容器的ID名 auto : true, //是否开启自动播放,默认不开启 arrowLeft : 'arrow-left', //上一张 arrowRight : 'arrow-right', //下一张 isHidden : true, //是否自动隐藏 上一张,下一张箭头,默认不开启 nav : 'promo-nav', //幻灯小导航的ID名 navEvent : 'click', //小导航的每个li的触发事件,默认为 click 还可以为 mouseover current : 'current' //默认小导航选中时候的 className 名, ClassName是给的 a 标签 }); </script>
<div class="slider" id="slider"> <ul> <li><a title="文本1" href="#"><img src="images/4.jpg" /></a></li> <li><a title="文本1" href="#"><img src="images/3.jpg" /></a></li> <li><a title="文本1" href="#"><img src="images/2.jpg" /></a></li> <li><a title="文本1" href="#"><img src="images/1.jpg" /></a></li> <li><a title="文本1" href="#"><img src="images/4.jpg" /></a></li> <li><a title="文本1" href="#"><img src="images/3.jpg" /></a></li> </ul> <a href="javascript:;" class="arrow arrow-left" id="arrow-left"></a> <a href="javascript:;" class="arrow arrow-right" id="arrow-right"></a> </div> <div class="promo-nav" id="promo-nav"></div> <div class="slider-text" id="slider-text"></div>
PS:以上也是只要写个容器即可,CSS须自己扩展。然后给幻灯容器里的 A 标签添加 title 属性就是 Slider Text 的文本了。
.slider-text { position:absolute; width:100%; height:28px; line-height:28px; overflow:hidden; bottom:0px; left:0px; background:#000; background:rgba( 0, 0, 0, 0.5); filter:alpha(opacity=50); color:#FFF; text-indent:1em; z-index:12; }
<script type="text/javascript"> new Mslider({ id : 'slider', //对应幻灯容器的ID名 auto : true, //是否开启自动播放,默认不开启 arrowLeft : 'arrow-left', //上一张 arrowRight : 'arrow-right', //下一张 isHidden : true, //是否自动隐藏 上一张,下一张箭头,默认不开启 nav : 'promo-nav', //幻灯小导航的ID名 navEvent : 'click', //小导航的每个li的触发事件,默认为 click 还可以为 mouseover current : 'current', //默认小导航选中时候的 className 名, ClassName是给的 a 标签 isText : true, //默认是否开启 文本容器 default = false text : 'slider-text' //默认 Slider Text 容器的 ID名 }); </script>
<script type="text/javascript"> new Mslider({ id : 'slider', //对应幻灯容器的ID名 auto : true, //是否开启自动播放, default = false time : 3500, //幻灯每次自动切换的时间 speed : 40, //幻灯动画的速度 effect : 'Expo', //动画的效果 default = [ Linear, Quint, Expo, Bounce ]; direction : 'Lateral', //动画执行方向 default = [ Lateral, Vertical ] Lateral=横向,Vertical=竖向 arrowLeft : 'arrow-left', //Prev 上一张 ID 名 arrowRight : 'arrow-right', //Next 下一张 ID 名 isHidden : true, //是否自动隐藏 Prev Next容器 default = false nav : 'promo-nav', //幻灯小导航的ID名 navEvent : 'click', //小导航的每个li的触发事件,默认为 click 还可以为 mouseover default = [ click, mouseover ] current : 'current', //默认小导航选中时候的 className 名, ClassName是给的 a 标签 default = current isText : true, //默认是否显示 文本容器 default = false text : 'slider-text' //默认 Slider Text 容器的 ID名 }); </script>
更多使用的方法,各位自己扩展吧