2016-11-22 26 views
1

我想在'.btn-random'中重複使用recipes_number1,但單擊按鈕後,但我的代碼不工作... 我檢查過,發現recipes_number1不能帶出... 任何人都可以救我嗎? :(取出函數中的值(javascript)

var recipes_number1 ; 


$('.btn-random').click(function(){ 
    recipes_number1 = Math.floor(Math.random() * 3); 
    var photo_url = Appetizer_photos[ recipes_number1 ]; 
    var splitText = Appetizer[ recipes_number1 ]; 
    $('#random-photo').attr('src',photo_url); 
    document.getElementById("list1").innerHTML= splitText; 

    ; 
}); 

var Appertizer_slide = Appertizer_name[recipes_number1]; 

var slideIndex = 1; 
showDivs(slideIndex); 

function plusDivs(n) { 
    showDivs(slideIndex += n); 
} 

function showDivs(n) { 
    var i; 
    var x = document.getElementsByClassName(Appertizer_slide); 
    if (n > x.length) {slideIndex = 1} 
    if (n < 1) {slideIndex = x.length} 
    for (i = 0; i < x.length; i++) { 
    x[i].style.display = "none"; 
    } 
    x[slideIndex-1].style.display = "block"; 
} 
+1

要重複使用哪個值,以及要在哪裏重用它? –

+1

你不調用'showDivs'函數 – Mahi

+0

@Scott Marcus 我想重用recipes_number – kennytsz

回答

0

我想你問如何獲得Main_Dish_slide更新值點擊發生之後:

var recipes_number1 ; 
var Main_Dish_slide; 

$('.btn-random').click(function(){ 
    recipes_number1 = Math.floor(Math.random() * 3); 
    var photo_url = Appetizer_photos[ recipes_number1 ]; 
    var splitText = Appetizer[ recipes_number1 ]; 
    $('#random-photo').attr('src',photo_url); 
    document.getElementById("list1").innerHTML= splitText; 
    Main_Dish_slide = Main_Dish_name[recipes_number1]; 
}); 



function showDivs(n) { 
    var i; 
    var x = document.getElementsByClassName(Main_Dish_slide); 
    if (n > x.length) {slideIndex = 1} 
    if (n < 1) {slideIndex = x.length} 
    for (i = 0; i < x.length; i++) { 
    x[i].style.display = "none"; 
    } 
    x[slideIndex-1].style.display = "block"; 
} 

相同的概念,您需要重新分配什麼Appertizer_slide被引用 - 一個這一點,你首先提供的代碼之間的主要區別是,你需要給Appertizer_slide起始值如果你打算叫showDivs馬上:

var recipes_number1 ; 
var Appertizer_slide = Appertizer_name[Math.floor(Math.random() * 3)]; 

$('.btn-random').click(function(){ 
    recipes_number1 = Math.floor(Math.random() * 3); 
    var photo_url = Appetizer_photos[ recipes_number1 ]; 
    var splitText = Appetizer[ recipes_number1 ]; 
    $('#random-photo').attr('src',photo_url); 
    document.getElementById("list1").innerHTML= splitText; 
    Appertizer_slide = Appertizer_name[recipes_number1]; 
}); 



var slideIndex = 1; 
showDivs(slideIndex); 

function plusDivs(n) { 
    showDivs(slideIndex += n); 
} 

function showDivs(n) { 
    var i; 
    var x = document.getElementsByClassName(Appertizer_slide); 
    if (n > x.length) {slideIndex = 1} 
    if (n < 1) {slideIndex = x.length} 
    for (i = 0; i < x.length; i++) { 
    x[i].style.display = "none"; 
    } 
    x[slideIndex-1].style.display = "block"; 
} 
+0

對不起,我複製了錯誤的代碼,有沒有main_dish – kennytsz

+0

非常感謝:D現在可以工作 我一直卡在1小時左右 – kennytsz

-1

試試這個:

var recipes_number1, Main_Dish_slide; 

$('.btn-random').click(function(){ 
    recipes_number1 = Math.floor(Math.random() * 3); 
    var photo_url = Appetizer_photos[ recipes_number1 ]; 
    var splitText = Appetizer[ recipes_number1 ]; 
    $('#random-photo').attr('src',photo_url); 
    document.getElementById("list1").innerHTML= splitText; 
    Main_Dish_slide = Main_Dish_name[recipes_number1]; 
}); 

function showDivs(n) { 
    var i; 
    var x = document.getElementsByClassName(Main_Dish_slide); 
    if (n > x.length) {slideIndex = 1} 
    if (n < 1) {slideIndex = x.length} 
    for (i = 0; i < x.length; i++) { 
    x[i].style.display = "none"; 
    } 
    x[slideIndex-1].style.display = "block"; 
} 
+0

沒有解釋的代碼示例不是很有用。 – Xufox

+0

我一直在等待OP反饋解釋得更好,但對於您來說更容易/更快點擊-1。對你有好處! – WPomier

+0

那麼,等待某人的反饋並不會提高答案的質量。 – Xufox