Rumah >hujung hadapan web >tutorial js >pemalam jQuery animateSlide mencipta tayangan slaid_jquery gelongsor berbilang titik
Kebanyakan kesan hebat sepanduk halaman utama datang daripada animasi slaid skrin penuh Berikut ialah kesan animasi jquery yang serasi: slaid gelongsor berbilang titik jquery baharu - animasi skrin penuh animateSlide (kod adalah asli sepenuhnya. ).
Pergi terus ke kod dan salin kod html, css dan jquery ke halaman untuk mempersembahkan gambar yang sempurna.
Kod html adalah seperti berikut:
<div class="animateSlide"> <div class="animateSlideImgWrap"> <div class="animateSlideImgBox present"> <p class="text1">亲,这是第一行标题</p> <p class="text2">AAAAAAAAAAAAAAAAAAAAA</p> <!--<img class="img" alt="" src="img/1.png" />--> <div class="img" style="width: 500px; height: 390px; background: #ffaeae; opacity: 0.6;"></div><!-- 实际项目中用上面注释的半透明png图片,目前临时用div代替图片 --> </div> <div class="animateSlideImgBox"> <p class="text1">亲,这是一行宣传语</p> <p class="text2">BBBBBBBBBBBBBBBBBBBBB</p> <!--<img class="img" alt="" src="img/2.png" />--> <div class="img" style="width: 500px; height: 390px; background: #aeffb2; opacity: 0.6;"></div><!-- 实际项目中用上面注释的半透明png图片,目前临时用div代替图片 --> </div> <div class="animateSlideImgBox"> <p class="text1">亲,这是一个奇迹啊</p> <p class="text2">CCCCCCCCCCCCCCCCCCCCC</p> <!--<img class="img" alt="" src="img/3.png" />--> <div class="img" style="width: 500px; height: 390px; background: #aebdff; opacity: 0.6;"></div><!-- 实际项目中用上面注释的半透明png图片,目前临时用div代替图片 --> </div> </div> <div class="animateSlideBtnL"><</div> <div class="animateSlideBtnR"><</div> </div>
Kod css adalah seperti berikut:
.animateSlide {width: 100%; height: 390px; position: relative; background: #f5f5f5;} .animateSlideImgWrap {width: 100%; height: 390px; position: absolute; z-index: 1; overflow: hidden;} .animateSlideImgWrap .present {display: block;} .animateSlideImgBox {width: 100%; height: 390px; position: absolute; z-index: 1; display: none;} .animateSlideImgBox .text1 {font-family: Microsoft YaHei; font-size: 36px; line-height: 1.2em; color: #384cd0; position: absolute; top: 120px; z-index: 3; white-space: nowrap;} .animateSlideImgBox .text2 {font-family: Microsoft YaHei; font-size: 26px; line-height: 1.2em; color: orange; position: absolute; top: 200px; z-index: 3; white-space: nowrap;} .animateSlideImgBox .img {position: absolute; left: 470px; top: 0; z-index: 2;} .animateSlideBtnL, .animateSlideBtnR { width: 30px; height: 60px; line-height: 60px; font-size: 20px; font-weight: 700; text-align: center; background: #ddd; position: absolute; left: 30px; top: 150px; z-index: 6; cursor: pointer; display: none; } .animateSlideBtnR {left: auto; right: 20px;}
Kod jquery adalah seperti berikut:
(function($) { $.fn.animateSlide = function(options) { var defaults = { btnL: ".animateSlideBtnL", btnR: ".animateSlideBtnR", imgBox: ".animateSlideImgBox", animateTime: 500, delayTime: 5000, density: 1 }; var opts = $.extend(defaults, options); var widthWin = $(window).width(); $(window).resize(function() { widthWin = $(window).width(); }); // this.on("mouseenter", function() { $(this).find(".animateSlideBtnL, .animateSlideBtnR").stop().fadeIn(400); }).on("mouseleave", function() { $(this).find(".animateSlideBtnL, .animateSlideBtnR").stop().fadeOut(400); }); return this.each(function() { var _this = $(this); var _btnL = _this.find(opts.btnL); var _btnR = _this.find(opts.btnR); var _imgBox = _this.find(opts.imgBox); var _imgBoxCur = _imgBox.filter(".present"); var _curText1 = _imgBoxCur.find(".text1"), _curText2 = _imgBoxCur.find(".text2"), _curImg = _imgBoxCur.find(".img"); var _imgBoxNext = null, _nextText1 = null, _nextText2 = null, _nextImg = null; var index = _imgBox.index(_imgBoxCur) || 0; var size = _imgBox.size(); var start = null; index++; if(index >= size) { index = 0; } _imgBoxNext = _imgBox.eq(index); _nextText1 = _imgBoxNext.find(".text1"); _nextText2 = _imgBoxNext.find(".text2"); _nextImg = _imgBoxNext.find(".img"); _imgBox.find(".text1, .text2, .img").css("left", widthWin); _imgBoxCur.find(".text1, .text2").css("left", (widthWin - 980) / 2 + "px"); _imgBoxCur.find(".img").css("left", (widthWin - 980) / 2 + 470 + "px"); _btnR.on("click", function() { animateSlideFn(); }); _btnL.on("click", function() { animateSlideFn(); }); start = setTimeout(function() { animateSlideFn(); start = setTimeout(arguments.callee, opts.delayTime); }, opts.delayTime); function animateSlideFn() { if(!(_imgBoxCur.find(".text1, .text2, .img").is(":animated") || _imgBoxNext.find(".text1, .text2, .img").is(":animated"))) { //当前帧动画 _curText1.animate({ left: parseInt(_curText1.css("left")) + 100 }, opts.animateTime * 0.6, function() { _curText1.animate({ left: "-510px" }, opts.animateTime); }); setTimeout(function() { _curText2.animate({ left: parseInt(_curText2.css("left")) + 100 }, opts.animateTime * 0.6, function() { _curText2.animate({ left: "-510px" }, opts.animateTime); }); }, 200); setTimeout(function() { _curImg.animate({ left: parseInt(_curImg.css("left")) + 200 }, opts.animateTime * 0.6, function() { _curImg.animate({ left: "-510px" }, opts.animateTime, function() { _imgBox.find(".text1, .text2, .img").css("left", widthWin); _imgBoxCur.removeClass("present"); }); }); }, 400); //下一帧动画 setTimeout(function() { _imgBoxNext.addClass("present"); _nextText1.animate({ left: (widthWin - 980) / 2 - 100 }, opts.animateTime, function() { _nextText1.animate({ left: (widthWin - 980) / 2 }, opts.animateTime * 0.6); }); setTimeout(function() { _nextText2.animate({ left: (widthWin - 980) / 2 - 100 }, opts.animateTime, function() { _nextText2.animate({ left: (widthWin - 980) / 2 }, opts.animateTime * 0.6); }); }, 200); setTimeout(function() { _nextImg.animate({ left: (widthWin - 980) / 2 + 370 }, opts.animateTime, function() { _nextImg.animate({ left: (widthWin - 980) / 2 + 470 }, opts.animateTime * 0.6, function() { index++; if(index >= size) { index = 0; } _imgBoxCur = _imgBox.filter(".present"); _imgBoxNext = _imgBox.eq(index); _curText1 = _imgBoxCur.find(".text1"); _curText2 = _imgBoxCur.find(".text2"); _curImg = _imgBoxCur.find(".img"); _nextText1 = _imgBoxNext.find(".text1"); _nextText2 = _imgBoxNext.find(".text2"); _nextImg = _imgBoxNext.find(".img"); }); }); }, 400); }, opts.density * 1200); } } }); }; })(jQuery); $(function() { $(".animateSlide").animateSlide({ btnL: ".animateSlideBtnL", btnR: ".animateSlideBtnR", imgBox: ".animateSlideImgBox", animateTime: 500, delayTime: 6000, density: 0.9 }); });