您好,登錄后才能下訂單哦!
利用原生JavaScript編寫一個手風琴功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
效果圖
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>手風琴</title> <link rel="stylesheet" href="index.css" rel="external nofollow" > </head> <body> <div class="wrapper"> <ul class="wrapUl"> <li> <div class="title"> <h2>溫泉酒店</h2> </div> <div class="picBox picBox1"></div> <div class="decration">有誰不愛泡溫泉?浸入霧氣蒸騰的泉水之中,把身體泡成一片茶葉,舒展輕盈。有比這更美妙的感覺嗎?</div> </li> <li> <div class="title"> <h2>時尚酒店</h2> </div> <div class="picBox picBox2"></div> <div class="decration">浪漫,是香閨圍籠,是燈火迷離,淚眼婆裟的唯美,是楊柳岸、曉風殘月中的無語凝噎……</div> </li> <li> <div class="title"> <h2>設計師酒店</h2> </div> <div class="picBox picBox3"></div> <div class="decration">前衛的酒店設計理念,獨具魅力的風格,優美的自然風光才能有這樣頂級的酒店</div> </li> <li> <div class="title"> <h2>青年旅店</h2> </div> <div class="picBox picBox4"></div> <div class="decration">我為你煮一杯溫茶,斟一杯美酒。讓我們席地而坐,聽你的夢想。用你的只言片語裝點我們的夢想博物館</div> </li> <li> <div class="title"> <h2>民宿客棧</h2> </div> <div class="picBox picBox5"></div> <div class="decration">在這里,你可以靜靜發呆,而不被人打擾;在這里,你能看見最美好的星星,能讓你找到最深的感動</div> </li> <li> <div class="title"> <h2>海島酒店</h2> </div> <div class="picBox picBox6"></div> <div class="decration">不想過冬,厭倦沉重,就飛去熱帶的島嶼游泳,卸下包袱,放下壓力,在這碧海藍天之中</div> </li> <li> <div class="title"> <h2>海外酒店</h2> </div> <div class="picBox picBox7"></div> <div class="decration">因地形地質的區別,世界各地的溫泉也千差萬別,選擇一處適合自己的溫泉,你會忘記世界</div> </li> </ul> </div> <script src="jquery.js"></script> <script src="index.js"></script> </body> </html>
JS代碼
var oUl = $('ul'), oLi = $('li'), len = oLi.length, width = parseInt(oUl.css('width')), gw = width / len, ot = Math.floor((width - 400) / (len - 1)); flag = true; function init(){ if(flag){ change($(oLi[len-1])); } } function bindEvent(){ oLi.on('click',function(){ change($(this)); if(($(this).index() +1) == len){ flag = false; }else{ flag = true; } }); oUl.on('mouseleave',function(){ init(); }) } function change(event){ event.animate({ 'width':'400px' },300,'linear').siblings().animate({ 'width':ot + 'px' },300,'linear'); event.find('.title').css({ 'display':'none' }) event.siblings().find('.title').css({ 'display':'block' }) event.find('.decration').css({ 'bottom':'0px' }) event.siblings().find('.decration').css({ 'bottom':'-50px' }) } init(); bindEvent();
CSS代碼
*{ margin:0; padding:0; list-style:none; } body{ background-color:#333; } .wrapper{ width:80%; margin:50px auto; padding:40px; } .wrapper ul{ width:100%; height:300px; overflow: hidden; } .wrapper ul li{ float: left; width:14.2; height:260px; position:relative; overflow:hidden; cursor:pointer; } .picBox{ width:100%; height:100%; } .picBox1{ background:url(images/1.jpg) no-repeat center 0; } .picBox2{ background:url(images/2.jpg) no-repeat center 0; } .picBox3{ background:url(images/3.jpg) no-repeat center 0; } .picBox4{ background:url(images/4.jpg) no-repeat center 0; } .picBox5{ background:url(images/5.jpg) no-repeat center 0; } .picBox6{ background:url(images/6.jpg) no-repeat center 0; } .picBox7{ background:url(images/7.jpg) no-repeat center 0; } .wrapper ul li .title{ position:absolute; overflow:hidden; width:100%; height:100%; left:0; top:0; background:rgba(0,0,0,0.5); } .wrapper ul li .title h2{ color:#fff; width:30px; margin:0 auto; display:block; font:20px; padding-top:30px; opacity:0.8; } .wrapper ul li .decration{ width:400px; height:40px; padding-left:20px; padding-right:30px; position:absolute; left:0; bottom:-50px; background:rgba(0,0,0,0.3); color:#FFF; }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。