ajax之換一換的功能實現(xiàn)

介紹:
ajax = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)
ajax 是與服務器交換數(shù)據(jù)并更新部分網(wǎng)頁的藝術,在不重新加載整個頁面的情況下。

換一換功能需求:
1)有一組元素
2)點擊后更新元素內(nèi)容
3)不創(chuàng)造新元素

下面進行思路解析:
1:靜態(tài)布局一組li元素,用于接收后臺傳送的數(shù)據(jù)內(nèi)容;
2:點擊事件發(fā)生后,用jquey的ajax數(shù)據(jù)交互
3:更新內(nèi)容

一、靜態(tài)頁面搭建

<style>
    a{text-decoration: none;}
    span{margin-left:10px;}
</style>
<body>
    <input type="button" value="換一換">
    <ul id="box">
        <!-- <li><a href="#">熱點1</a><span>10</span></li>
        <li><a href="#">熱點2</a><span>10</span></li>
        <li><a href="#">熱點3</a><span>10</span></li> -->
    </ul>
</body>

二、js代碼書寫
整體思路:
點擊事件后在ajax中對成功傳入的r,進行數(shù)組排序,按照arr.sort()由于返回值出現(xiàn)正負的特性,在利用0.5-Math.random() 隨機數(shù)產(chǎn)生的正負,進行不規(guī)律傳遞取數(shù)據(jù),但尚未解決上次出現(xiàn)的不再出現(xiàn)。。。

<script src="js/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        $(()=>{
            $('input').click(()=>{
                $.ajax({
                    url:'weibo.data',
                    cache:false,
                    dataType:'json',
                    success:r=>{
                        $('#box').html('');
                        r.sort(()=>{
                            return 0.5-Math.random();
                        });
                        /*$.each(r,(i,v)=>{
                            if(i<3){
                                $(`<li><a href="${v.url}">${v.title}</a><span>${v.readCount}</span></li>`).appendTo('#box');
                            }else{
                                return false;
                            }
                        })*/
                        for(let i=0;i<3;i++){
                            let v = r[i];
                            $(`<li><a href="${v.url}">${v.title}</a><span>${v.readCount}</span></li>`).appendTo('#box');
                        }
                    },
                    error:()=>{
                        alert('出錯了!');
                    }               
                })          
            })

        });
    </script>

代碼更多使用ES6編寫 不考慮低級瀏覽器~

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容