新聞中心
怎么用js實現(xiàn)木馬輪播圖效果呢?為了讓大家更加了解js,小編給大家總結(jié)了以下內(nèi)容,一起往下看吧。
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括魯山網(wǎng)站建設(shè)、魯山網(wǎng)站制作、魯山網(wǎng)頁制作以及魯山網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,魯山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到魯山省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
首先,我們來看一下木馬輪播圖效果:
具體代碼如下:
html部分代碼:
旋轉(zhuǎn)木馬輪播圖
在html部分引入的myStyle.css文件部分代碼
@charset "UTF-8"; blockquote,body,button,dd,dl,dt,fieldset,form,h3,h4,h5,h6, h7, h7, hr, input, legend, li, ol, p, pre, td, textarea, th, ul{ margin:0; padding:0 } body,button,input,select,textarea{ font:12px/1.5 "Microsoft YaHei", "微軟雅黑", SimSun, "宋體", sans-serif; color:#666; } ol,ul{ list-style:none } a{ text-decoration:none } fieldset,img{ border:0; vertical-align:top; } a,input,button,select,textarea{ outline:none } a,button{ cursor:pointer } .wrap{ width:1200px; margin:100px auto; } .slide{ height:500px; position: relative; } .slide li{ position:absolute; left:200px; top:0 } .slide li img{ width:100% } .arrow{ opacity:0; } .prev ,.next{ width:76px; height:112px; position:absolute; top:50%; margin-top:-56px; background:url(../images/prev.png) no-repeat; z-index:99; } .next{ right:0; background-image:url(../images/next.png); }
在html部分引入的animate.js文件部分代碼
/** * Created by RENPINGSHENG on 2018/4/6. */ function animate(obj,json,fn) { clearInterval(obj.timer); obj.timer = setInterval(function () { var flag = true; for(var k in json){ if( k == "opacity"){ var leader = getStyle(obj,k) * 100; var target = json[k] * 100; var step = (target - leader) /10; step = step > 0 ? Math.ceil(step) : Math.floor(step); leader = leader + step; obj.style[k] = leader /100; } else if ( k == "zIndex"){ obj.style[k] = json[k]; }else{ var leader = parseInt(getStyle(obj,k)) || 0; var target = json[k]; var step = (target - leader) /10; step = step >0 ? Math.ceil(step) : Math.floor(step); leader = leader + step; obj.style[k] = leader + "px"; } console.log("target:" + target + "leader:" + leader + "step:" + step); if (leader != target){ flag = false; } } if (flag){ clearInterval(obj.timer); if(fn){ fn(); } } },15) } function getStyle(obj,attr){ if (obj.currentStyle){ return obj.currentStyle[attr]; }else{ return window.getComputedStyle(obj,null)[attr]; } }
在html部分引入的my.js文件部分代碼
/** * Created by RENPINGSHENG on 2018/4/6. */ window.onload = function () { var wrap = document.getElementById("wrap"); var slide = document.getElementById("slide"); var ul = slide.children[0]; var lis = ul.children; var arrow = document.getElementById("arrow"); var arrRight = document.getElementById("arrRight"); var arrLeft = document.getElementById("arrLeft"); var config = [ { width:400, top:20, left:50, opacity:0.2, zIndex:2 }, { width:600, top:70, left:0, opacity:0.8, zIndex:3 }, { width:800, top:100, left:200, opacity:1, zIndex:4 }, { width:600, top:70, left:600, opacity:0.8, zIndex:3 }, { width:400, top:20, left:750, opacity:0.2, zIndex:2 } ]; wrap.onmouseover = function () { animate(arrow,{"opacity":1}); } wrap.onmouseout = function () { animate(arrow,{"opacity":0}); } function assign() { for(var i = 0;i < lis.length;i++){ animate(lis[i],config[i],function(){ flag = true; }) } } var flag = true; assign(); arrRight.onclick = function () { flag = false; config.push(config.shift()); assign(); }; arrLeft.onclick = function () { flag = false; config.unshift(config.pop()); assign(); } }
整個頁面的文件結(jié)構(gòu)如下圖所示:
關(guān)于js實現(xiàn)木馬輪播圖效果的方法介紹分享到這里了,當(dāng)然并不止以上和大家分析的辦法,不過小編可以保證其準(zhǔn)確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
名稱欄目:js實現(xiàn)木馬輪播圖效果的方法介紹
分享路徑:http://www.dlmjj.cn/article/pgocdj.html