亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

結合 2 個 JS 確實有麻煩

結合 2 個 JS 確實有麻煩

犯罪嫌疑人X 2023-07-20 15:04:46
我正在努力將兩個 JS 合并為一個…我嘗試在 JSFiddle 中嘗試,但無法真正理解控制臺錯誤…我試圖讓背景顏色與 div 中不斷變化的背景 .svg 相結合......$(document).ready(function() { //Initializingvar i = 0;var images = []; //arrayvar time = 3000; // time in millie seconds//imagesimages[0] = "url(http://www.cyrill-kuhlmann.de/verve/img/logo_1.svg)";images[1] = "url(http://www.cyrill-kuhlmann.de/verve/img/logo_2.svg)";images[2] = "url(http://www.cyrill-kuhlmann.de/verve/img/logo_3.svg)";images[3] = "url(http://www.cyrill-kuhlmann.de/verve/img/logo_4.svg)";//functionfunction changeImage() {var el = document.getElementById('header');el.style.backgroundImage = images[i];if (i < images.length - 1) {    i++;} else {    i = 0;}setTimeout('changeImage()', time);}window.onload = changeImage;$(function setbackground() {        window.setTimeout( "setbackground()", 2000);var index = Math.round(Math.random() * 4);var ColorValue = "FA89CB";if(index == 1)ColorValue = "FAED96";if(index == 2)ColorValue = "D27DFA";if(index == 3)ColorValue = "6CFA64";if(index == 4)ColorValue = "8370FA";document.getElementsByTagName("body")[0].style.backgroundColor = "#" + ColorValue;});});這是我的小提琴: http://jsfiddle.net/gmck02ru/1/有人有線索嗎——我想我到目前為止還沒有真正理解我在這里做什么……請幫忙!
查看完整描述

1 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

問題是因為您用來定義setbackground()函數的語法不正確。您已將其放置在 jQuery 對象中。該函數也從未被調用。您應該將其定義為獨立函數并在頁面加載時調用它。

此外,您還可以對邏輯進行一些改進。

  • 使用addEventListener()超過設置onclick或其他onX事件屬性。

  • 在定義數組本身的同時聲明數組的元素。

  • 使用數組來保存背景顏色,而不是對語句進行硬編碼if。

  • 在遞增計數器時使用模運算符,以節省必須編寫邏輯來重置的操作0

  • 如果您想要重復更新背景顏色,就像對圖像所做的那樣,請將調用放在函數setTimeout()setbackground()。

  • 直接使用document.body而不是通過標簽名獲取

$(document).ready(function() {

? let i = 0;

? let images = [

? ? "url(http://www.cyrill-kuhlmann.de/verve/img/logo_1.svg)",

? ? "url(http://www.cyrill-kuhlmann.de/verve/img/logo_2.svg)",

? ? "url(http://www.cyrill-kuhlmann.de/verve/img/logo_3.svg)",

? ? "url(http://www.cyrill-kuhlmann.de/verve/img/logo_4.svg)"

? ];

? let backgroundColours = ['#FAED96', '#D27DFA', '#6CFA64', '#8370FA']


? function changeImage() {

? ? let el = document.getElementById('header');

? ? el.style.backgroundImage = images[i];

? ? i = ++i % (images.length - 1)

? ? setTimeout(changeImage, 3000);

? }

? changeImage();


? function setbackground() {

? ? let index = Math.round(Math.random() * 4);

? ? document.body.style.backgroundColor = backgroundColours[index];

? ? setTimeout(setbackground, 2000);

? }

? setbackground();

});


查看完整回答
反對 回復 2023-07-20
  • 1 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號