效果預覽圖:
大家可以下載demo看完整效果,以下介紹製作過程。
1.首先創建一個html頁面,html結構如下:
大家一看就明白,viewer包含了幾張圖片,ul對象裡麵包含了'上一條'、'下一條'和各個圖片對應的導航。
2.接下來需要為這些html元素設定css樣式,css我就不多說了,就是給viewer、圖片等元素加樣式,viewer同時只能顯示一張圖片:
#slider
{
width: 500pativepative ;
}
#viewer
{
width: 400px;
height: 300px;
margin: auto;
position: relative;
margin: auto;
position: relative;
#slider ul
{
width: 350px;
margin: 0 auto;
padding: 0;
list-style-type: none;
padding: 0;
list-style-type: none;
}
#slider ul:after
{
content: ".";
visibility: hidden;
display: block;
height: 0;
clear: both;
}
#slider li
{
margin-right: 10px;
float: left;
}
#prev, #next
{
{
position: absolute;
top: 175px;
}
#prev
{
left: 20px;
}
#next
{
>> 🎜>right: 10px;
}
.hidden
{
display: none;
}
#slide
{
width:}
#slide
{
width: 2000px; : 300px;
position: absolute;
top: 0;
left: 0;
}
#slide img
{
float: left; 400px;
height: 300px;
}
#title
{
margin: 0;
text-align: center;
>3.為頁面新增jquery和jquery.easing.1.3.js的引用。然後就是我們這篇的重頭了,為導航寫對應的js事件。
$('#viewer').wraprapInner('
接下來我們使用jquery的selector找到slider,slide,prev,next等對象,把他們存到對應的js變數中。
key = "image1",
details = {
image1: {
position: 0,
title: slide.children().eq(0).attr(' alt')
},
image2: {
position: -400,
title: slide.children().eq(1).attr('alt')
},
image3: {
position: -800,
title: slide.children().eq(2).attr('alt')
},
image4: {
position : -1200,
title: slide.children().eq(3).attr('alt')
},
image5: {
position: -1600,
title: slide.children().eq(4).attr('alt')
}
};
為了顯示圖片標題,我們需要新增h2標題到頁面。
$('
', {
$('', {
$('
', {
> id: 'title', text: details[key].title }).prependTo('#slider'); 上述工作完成後,就可以開始為a> 上述工作完成後,就可以開始為a> 上述工作完成後,就可以開始為a> 上述工作完成後,就可以開始為a> 上述工作完成後,就可以開始為a>
上述工作完成後,就可以開始為a>
上述工作完成後,就可以開始為a>
上述工作完成後,就可以開始做標籤添加click事件了,這裡的a標籤分兩種,一種是'上一條'和'下一條',另外一種是各圖片對應的導航。我們需要分別為他們加入對應的click事件。但是他們都會用到一個相同的回呼函數,我們先完成回呼函數的寫法。程式碼思路我就直接以註解的方式完成。
複製程式碼
程式碼如下:
function postAnim(dir) {
我們取得到目前活動圖片的id,只包含數字部分
var keyMath = parseInt(key.match(/d $/));
//slide的left小於0,也就是說目前活動圖片不是圖片1,'上一條'導航顯示;否則'上一條'導航消失
(parseInt(slide.css('left')) //slide的left等於-1600,也就是說當前活動圖片是第五章,'下一條'導航消失,否則'下一條'導航顯示
(parseInt(slide.css('left')) === -1600) ? next.hide() : next.show();
//if條件語句當使用'上一條'和'下一條'導航時才有意義。實現的功能就是點'上一條'是key減一,點'下一條'key加1
if (dir) { var titleKey = (dir === 'back') ? keyMath - 1 : keyMath 1; key = 'image' titleKey; } //重新設定h2標題container.find('#title').text(details[key].title); //重新設定目前哪個圖片為活動狀態container.find('.active').removeClass('active'); container.find('a[href=#' key ']' ).addClass('active'); }
接下來我們完成'上一條'和'下一條'導航的功能。
複製程式碼
程式碼如下:
nextChild.add(prevvld). ) { //阻止預設事件,否則動畫效果就沒有了
e.preventDefault();
var arrow = $(this).parent(); //當前slide沒有動畫時,我們才加入新的動畫效果 if (!slide.is(':animated')) { slide.animate({ left: (arrow.attr('id') == = 'prev') ? ' =400' : '-=400' }, 'slow', 'easeOutBack', function () { (arrow.attr("id") === "prev ") ? postAnim("back") : postAnim("forward"); }); } });
最後是圖片對應的各自導航的功能實現。
複製程式碼
程式碼如下:
$('#ui li a').not( prevChild).not(nextChild).click(function (e) {
//阻止預設事件 e.preventDefault(); //取得目前活動圖片 =key =key ).attr('href').split('#')[1]; //設定動畫效果 slide.animate({ left: details[key].position } , 'slow', 'easeOutBack', postAnim); }); 本課的內容完畢了,大家可以下載demo,查看功能具體是如下實現的。 demo下載位址:jQuery.animation.position
上述工作完成後,就可以開始為a>
上述工作完成後,就可以開始為a>
上述工作完成後,就可以開始做標籤添加click事件了,這裡的a標籤分兩種,一種是'上一條'和'下一條',另外一種是各圖片對應的導航。我們需要分別為他們加入對應的click事件。但是他們都會用到一個相同的回呼函數,我們先完成回呼函數的寫法。程式碼思路我就直接以註解的方式完成。
複製程式碼
程式碼如下:
function postAnim(dir) {
我們取得到目前活動圖片的id,只包含數字部分
var keyMath = parseInt(key.match(/d $/));
//slide的left小於0,也就是說目前活動圖片不是圖片1,'上一條'導航顯示;否則'上一條'導航消失
(parseInt(slide.css('left')) //slide的left等於-1600,也就是說當前活動圖片是第五章,'下一條'導航消失,否則'下一條'導航顯示
(parseInt(slide.css('left')) === -1600) ? next.hide() : next.show();
接下來我們完成'上一條'和'下一條'導航的功能。
複製程式碼
程式碼如下:
nextChild.add(prevvld). ) {
最後是圖片對應的各自導航的功能實現。
複製程式碼
程式碼如下:

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安裝,因為它已內置於現代瀏覽器中。你只需文本編輯器和瀏覽器即可開始使用。 1)在瀏覽器環境中,通過標籤嵌入HTML文件中運行。 2)在Node.js環境中,下載並安裝Node.js後,通過命令行運行JavaScript文件。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境