Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya menerima 12 kuntum bunga ros sebagai seorang bujang pada Hari Valentine selepas menaip kod (javascript)_kemahiran javascript
Tanpa berlengah lagi, izinkan saya tunjukkan renderingnya dahulu:
Untuk meringkaskan, artikel ini akan memperkenalkan skrip untuk memberus bintang (dalam memori kilat), yang digunakan untuk memberus bintang semasa menutup telefon. Pada Hari Valentine Cina, bunga mawar adalah mengenai lukisan, jadi saya pastinya bukan umpan klik.
1. Hantar mesej
Lihat permintaan dan simulasi menghantarnya sendiri
$.post("http://ing.cnblogs.com/ajax/ing/Publish", //地址 JSON.stringify({ "content": content, "publicFlag": 1 }), //参数,json格式字符串 function (result) { //回调 console.log("..............发送成功了,接下来判断是否有星星"); result && result.IsSuccess && judgeStar(content) }, "json"); //返回的内容转成js对象
2 Tentukan sama ada mesej yang baru dihantar mempunyai kilat bertuah
Lihat gambar dan bercakap
Alamat permintaan ialah: http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=30&Tag=&_=1440087133884
Seperti yang anda lihat daripada nama (dan memang benar), anda boleh memilih jenis (saya, respons saya, respons baharu, sebut saya, balas saya, seluruh tapak), halaman mana dan nombor setiap muka surat. Yang terakhir ialah cap masa.
Kami mensimulasikan permintaan:
$.ajax({ url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date), type: "get", dataType: "text", success: function (result) { //处理的逻辑<br> //window.doc=$(result); //可以在控制台看看出来的是什么鬼 } });
Sebab mengapa dataType: "teks" digunakan adalah kerana:
Apa yang dikembalikan adalah sekeping kod html Menggunakan $(result), anda boleh melihat dalam konsol bahawa ia dibahagikan kepada 3 bahagian Kami perlu mencari bahagian yang baru dihantar dan menentukan sama ada terdapat kilat bertuah. Saya hanya memilih untuk mendapatkan 3 item pertama di sini untuk menilai Jika terdapat lebih daripada 3 orang yang baru menyegarkan memori flash dengan saya, maka saya tidak akan dapat mencarinya ... Jadi saya boleh menambah sedikit lagi. kuantiti setiap muka surat.
Ini ialah kod yang saya gunakan untuk mencari dan menentukan sama ada terdapat bintang:
var feedDiv = $(result).eq(2); var msgSpan = feedDiv.find("span:contains('" + msg + "')"); //这样找其实不严谨,尤其在大晚上的找的全是自己的... if (msgSpan.length > 0) { console.log("..............找到发送的闪存,开始判断"); } else { console.log("..............未找到发送的闪存,可能脚本错误"); } var id = msgSpan.attr("id").match(/body_(\d+)$/)[1]; if (msgSpan.next("img.ing_icon_lucky").length > 0) { console.log("..............幸运闪 +1 【星星】"); } else { //没找到星星,看来运气不好。那么就把刚刚那条删除吧!!! }
3 Padamkan pemacu kilat "buang" tanpa bintang tadi
Bagi yang hanya mahukan bintang (mawar), buang yang tidak berguna...
Saya tidak akan menyiarkan gambar ini, hanya kod:
//删除闪存 function delMsg(id) { console.log("..............没有星星,删除该闪存,id为" + id); return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id })); }
4. Ringkasan
Sama ada anda boleh mendapatkan "bintang" bergantung pada wajah anda, saya sapu setiap 6 minit, dan saya hanya mendapat sedozen dalam satu petang dan satu malam.
Sekarang pukul 12:43 dan saya sangat risau. Skrip ini dipasang pada komputer syarikat saya dan terus berkelip Saya tidak boleh berbuat apa-apa tentangnya di rumah Saya tidak tahu sama ada akan ada bilik gelap esok... Saya akan pergi dan menghentikannya awal pagi.
Dan saya tidak tahu sama ada penyemak imbas tersekat Kadang-kadang terdapat beberapa tanpa bintang, tetapi ia tidak dipadamkan...
Berikut ialah kod lengkap:
function memeda(input) { var times = 0; shuaXingXing(input); function shuaXingXing(content) { sendMsg(content); setInterval(function () { sendMsg(content); }, 1000 * 60 * 6 + 100); } //发送闪存消息 function sendMsg(content) { console.log("...................................................................."); times++; console.log("当前时间:" + new Date().toLocaleTimeString() + " 第" + times + "次发送闪存"); console.log("..............发送闪存"); return $.post("http://ing.cnblogs.com/ajax/ing/Publish", JSON.stringify({ "content": content, "publicFlag": 1 }), function () { }, "json") .done(function (result) { console.log("..............判断是否有星星"); result && result.IsSuccess && judgeStar(content) }); } //判断是否有星星 function judgeStar(msg) { $.ajax({ url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date), type: "get", dataType: "text", success: function (result) { var feedDiv = $(result).eq(2); var msgSpan = feedDiv.find("span:contains('" + msg + "')"); if (msgSpan.length > 0) { console.log("..............找到发送的闪存,开始判断"); } else { console.log("..............未找到发送的闪存,可能脚本错误"); } var id = msgSpan.attr("id").match(/body_(\d+)$/)[1]; if (msgSpan.next("img.ing_icon_lucky").length > 0) { console.log("..............幸运闪 +1 【星星】"); } else { delMsg(id); } } }); } //删除闪存 function delMsg(id) { console.log("..............没有星星,删除该闪存,id为" + id); return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id })); } }
Di atas ialah cara saya menerima 12 kuntum bunga ros selepas menaip kod sebagai seorang bujang pada Hari Kekasih saya harap anda semua menyukainya.