中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python前端jQuery綜合應用

發布時間:2020-07-21 15:10:07 來源:網絡 閱讀:244 作者:我是小谷粒 欄目:編程語言

知識點預習
1.幻燈片的制作2.json數據格式及ajax

01- 輪播圖-獲取相關元素[mw_shl_code=applescript,true]var $slide = $('.slide'), // 輪播區域的div

$slideList = $('.slide_list'), // 輪播列表
$lis = $('.slide_list li'),// 輪播中的四個li
$prevBtn = $('.prev'), // 上一張按鈕
$nextBtn = $('.next'), // 下一張按鈕
$pointsList = $('.points');// 小圓點列表[/mw_shl_code]

2- 輪播圖-添加小圓點[mw_shl_code=applescript,true]// 1.根據圖片張數動態添加小圓點
for (var i = 0; i < iPicCount; i++) {
$pointsList.append('<li></li>');
}
// 1.1 默認第0個小點高亮
$pointsList.children(':first').addClass('active');
[/mw_shl_code]
輪播圖-監聽小圓點事件 - 下一張[mw_shl_code=applescript,true] // 2.動畫前的準備除了第一張 其它 都放到760的位置
$lis.not(':first').css({ 'left': 760 });

var iNowIndex = 0; // 即將要上顯示的這一張
var iPreviousIndex = 0; // 上一張,也是要讓位置的這一張

// 2.1 點擊小圓點進行圖片移動動畫
$pointsList.delegate('li', 'click', function () {

    // 記錄即將要顯示的圖片索引
    iNowIndex = $(this).index();
    // 動畫移動
    fnMoveAnmation();
});

// 公共函數
function fnMoveAnmation() {
          // 小圓點高亮處理
          $pointsList.children().eq(iNowIndex).addClass('active').siblings().removeClass('active');
    // 顯示下一張
    if (iNowIndex > iPreviousIndex) {

        // 讓當前顯示的圖片從0移動到左邊-760為要出現的讓位置
        $lis.eq(iPreviousIndex).animate({ 'left': -760 });
        // 讓要出現的圖片從原本的760位置移動到0的位置
        $lis.eq(iNowIndex).animate({ 'left': 0 });

        // 記錄這一次顯示的索引 作為下一次動畫時要讓位置的索引
        iPreviousIndex = iNowIndex;
    } 

}[/mw_shl_code]

輪播圖-小圓點事件 - 上一張[mw_shl_code=applescript,true] xxxxxxxxxx else { // 顯示上一張 // 動畫從左邊向右移動的準備 $lis.eq(iNowIndex).css({ 'left': -760 }); // 讓當前顯示的圖片從0移動到右邊760位置 $lis.eq(iPreviousIndex).animate({ 'left': 760 }); // 讓要顯示的圖片從原本-760的位置移動到0的位置 $lis.eq(iNowIndex).animate({ 'left': 0 }); // 記錄這一次顯示的索引 作為下一次動畫時要讓位置的索引 iPreviousIndex = iNowIndex; }[/mw_shl_code]
輪播圖-跨越式點擊的BUG解決
重復點擊同一個小點時bug
[mw_shl_code=applescript,true] function fnMoveAnmation() {
// 如果重復點擊小點什么也不做
if (iNowIndex == iPreviousIndex) return;[/mw_shl_code]
[mw_shl_code=applescript,true]從右向左邊滑動時
//解決跨越式點擊BUG :搶先一步 將要出現的圖片 丟到他該出現的位置 760
$lis.eq(iNowIndex).css({"left":760})

從左向右邊滑動時
//解決跨越式點擊BUG :搶先一步 將要出現的圖片 丟到他該出現的位置 -760
$lis.eq(iNowIndex).css({"left":-760}) [/mw_shl_code]
輪播圖-監聽左邊按鈕的點擊
[mw_shl_code=applescript,true]// 3.點擊左邊上一張按鈕
$prevBtn.click(function () {

    iNowIndex--;
    fnMoveAnmation();
})
[/mw_shl_code]
輪播圖-右側按鈕的點擊
[mw_shl_code=applescript,true] // 4.點擊右邊下一張按鈕
    $nextBtn.click(function () {  
        iNowIndex++;
        fnMoveAnmation();
    })[/mw_shl_code]
fnMoveAnmation函數的調整
[mw_shl_code=applescript,true]// 如果最后一張后繼續點擊右邊按鈕,應該向左移動的方式來顯示第0張
        if (iNowIndex > iPicCount - 1) {
            // 下一張時:最后一張的下一張是第0張
            iNowIndex = 0;
            // 動畫從右邊向左移動的準備
            $lis.eq(iNowIndex).css({ 'left': 760 });
            // 讓當前顯示的圖片從0移動到左邊-760為要出現的讓位置
            $lis.eq(iPreviousIndex).animate({ 'left': -760 });
    } else if (iNowIndex < 0) { // 如果是第0張時繼續點擊左邊上一張按鈕

        // 上一張時:第0張的上一第應該是最后一張
        iNowIndex = iPicCount - 1;
        // 動畫從左邊向右移動的準備
        $lis.eq(iNowIndex).css({ 'left': -760 });
        // 讓當前顯示的圖片從0移動到右邊760位置
        $lis.eq(iPreviousIndex).animate({ 'left': 760 });
            } else {
            // 把正常情況下的左右滾動代碼放在else里面
            }[/mw_shl_code]

輪播圖- 左右按鈕快速點擊的bug
動畫還沒有執行完,點擊左右按鈕什么事件也不做
bIsAnmation = false; // 是否正在動畫中
左右按鈕點擊事件中加入如果動畫中直接返回
進入fnMoveAnmation里時把bIsAnmation改為true
最后的動畫執行完成的回調中把bIsAnmation再改回為false;
輪播圖-自動播放
[mw_shl_code=applescript,true] // 自動滾動
function fnAutoMove() {
iNowIndex++;
fnMoveAnmation();
}

// 5.定時器自動滾動
var oTimer = setInterval(fnAutoMove, 3000);[/mw_shl_code]

輪播圖-鼠標事件
[mw_shl_code=applescript,true]//6.鼠標的事件
$slide.mouseenter(function () {
clearInterval(oTimer);
});

$slide.mouseleave(function () {
    oTimer = setInterval(fnAutoMove, 3000);
})

[/mw_shl_code]
JSON概述和書寫格式
JSON是 JavaScript Object Notation 的首字母縮寫,單詞的意思是JavaScript對象表示法,這里說的JSON指的是類似于JavaScript對象的一種數據格式,目前這種數據格式比較流行,逐漸替換掉了傳統的XML數據格式。
JSON格式的數據:
[mw_shl_code=applescript,true]{
"name":"tom",
"age":18
}[/mw_shl_code]
與JavaScript對象不同的是,JSON數據格式的屬性名稱和字符串值需要用雙引號引起來,用單引號或者不用引號會導致讀取數據錯誤。
[mw_shl_code=applescript,true]["tom",18,"programmer"][/mw_shl_code]
3- ajax加載JSON數據
$.ajax使用方法
常用參數:
1、url 請求地址2、type 請求方式,默認是'GET',常用的還有'POST' 3、dataType 設置返回的數據格式,常用的是'json'格式,也可以設置為'html' 4、data 設置發送給服務器的數據 5、success 設置請求成功后的回調函數 6、error 設置請求失敗后的回調函數 7、async 設置是否異步,默認值是'true',表示異步

以前的寫法:
[mw_shl_code=applescript,true]$.ajax({
url: 'js/data.json',
type: 'GET',
dataType: 'json',
data:{'aa':1}
success:function(data){
alert(data.name);
},
error:function(){
alert('服務器超時,請重試!');
}
});
[/mw_shl_code]
新的寫法(推薦):
[mw_shl_code=applescript,true]$.ajax({
url: 'js/data.json',
type: 'GET',
dataType: 'json',
data:{'aa':1}
})
.done(function(data) {
alert(data.name);
})
.fail(function() {
alert('服務器超時,請重試!');
});

    // data.json里面的數據: {"name":"tom","age":18}[/mw_shl_code]

ajax天天生鮮局部刷新
準備好要請求的JSON數據
請求后先驗證數據,再寫功能代碼

15- jsonp的原理
ajax只能請求同一個域下的數據或資源,有時候需要跨域請求數據,就需要用到jsonp技術,jsonp可以跨域請求數據,它的原理主要是利用了script標簽可以跨域鏈接資源的特性。jsonp和ajax原理完全不一樣,不過jQuery將它們封裝成同一個函數。

16- jsonp跨域請求
[mw_shl_code=applescript,true] xxxxxxxxxx $.ajax({ url:'js/data.js', type:'get', dataType:'jsonp', jsonpCallback:'fnBack'}).done(function(data){ alert(data.name);}).fail(function() { alert('服務器超時,請重試!');});// data.js里面的數據: fnBack({"name":"tom","age":18});[/mw_shl_code]
仿360搜索
[mw_shl_code=applescript,true] $(function(){
$('#txt01').keyup(function(){
var sVal = $(this).val();
$.ajax({
url:'https://sug.so.#/suggest',
type:'get',
dataType:'jsonp',
//給服務器傳遞參數
data: {word: sVal}
})
.done(function(data){
var aData = data.s;
$('.list').empty();
for(var i=0;i<aData.length;i++)
{
var $li = $('<li>'+ aData +'</li>');
$li.appendTo($('.list'));
}
})
})
})[/mw_shl_code]

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜良县| 仙桃市| 界首市| 大理市| 罗甸县| 城市| 紫阳县| 绵阳市| 如东县| 南丰县| 沂源县| 治多县| 庐江县| 沐川县| 玛沁县| 榆树市| 祁东县| 渝北区| 西贡区| 维西| 德清县| 云梦县| 连平县| 得荣县| 澄城县| 青河县| 淳化县| 洪江市| 三河市| 彩票| 灵宝市| 宁陵县| 金山区| 民和| 历史| 咸阳市| 平舆县| 都安| 务川| 休宁县| 容城县|