2014-11-21 23 views
-1

我正在寫一個JS網站。我有一個功能,以一種更奇怪的方式改變網站。甚至更奇怪的是,當這種改變發生時,功能甚至沒有被激活(在網站加載之後,在開始時發生)。 這怎麼可能?未激活的功能如何影響網站?

我玩過,並注意到,如果我使用append()而不是appendTo,它工作正常..仍然我想了解appendTo()是什麼問題。

我在這裏添加html相關代碼和JS。 有問題的函數名稱是「keepe」。 感謝您的幫助。

的html代碼:

<div id="whole"> 


</div> 

JS代碼

var shownikud=function (letter){ 

$('#kamatz').html('<img src="pics/'+letter+'-kamatz.png " >'); 
$('#patach').html('<img src="pics/'+letter+'-patach.png " >'); 
$('#zere').html('<img src="pics/'+letter+'-zere.png " >'); 
$('#segol').html('<img src="pics/'+letter+'-segol.png " >'); 
$('#shva').html('<img src="pics/'+letter+'-shva.png " >'); 
$('#shuruk').html('<img src="pics/'+letter+'-shuruk.png " >'); 
$('#kubutz').html('<img src="pics/'+letter+'-kubutz.png " >'); 
$('#cholam').html('<img src="pics/'+letter+'-cholam.png " >'); 
$('#chirik').html('<img src="pics/'+letter+'-chirik.png " >'); 
if ((letter==='bet' ) || (letter==='kaf') || (letter==='pe')) {     

    $('.options-l').show(); 
    $('#l-kamatz').html('<img src="pics/'+letter+'-l-kamatz.png " >'); 
    $('#l-patach').html('<img src="pics/'+letter+'-l-patach.png " >'); 
    $('#l-zere').html('<img src="pics/'+letter+'-l-zere.png " >'); 
    $('#l-segol').html('<img src="pics/'+letter+'-l-segol.png " >'); 
    $('#l-shva').html('<img src="pics/'+letter+'-l-shva.png " >'); 
    $('#l-shuruk').html('<img src="pics/'+letter+'-l-shuruk.png " >'); 
    $('#l-kubutz').html('<img src="pics/'+letter+'-l-kubutz.png " >'); 
    $('#l-cholam').html('<img src="pics/'+letter+'-l-cholam.png " >'); 
    $('#l-chirik').html('<img src="pics/'+letter+'-l-chirik.png " >'); 
} else { 
    $('.options-l').hide(); 
} 

} 

//this function will sound the right letter with the right sound 
var voice= function(zlil){ 

var v = '<audio autoplay><source src="sounds/' +zlil+'.mp3" type="audio/mpeg">Your browser does not support the audio element.</audio>'; 
//$('.options').text(v); 
$('#hearit').html(v); 

} 

**//this is the problematic function** 
var keepe = function(so){ 
var accumulate=so; 
$(accumulate).appendTo.('#whole'); **//this option destroy most of the site functionality** 
$('#whole').html(accumulate); **//this option works good** 
$('#whole').append(accumulate); **//this option works good** 
} 

var main=function(){ 

/* this section defines what is the letter that was selected*/ 
$('.options-l').hide(); 
$('.letter').click(function(){ 
    //$('.options').text('ok - this is a result of clicking on one of the html elements'); 
    var let= this.id; 
    //just to see what was the selected letter $('#testing').text(let); 
    shownikud(let); 


    $('.zlil').click(function() { 
     //$('.options').text('ok - this is a result of clicking on a sound elements'); 
     var sound=let+'-'+this.id; 
     //$('#testing').text(sound); 
     voice(sound); 
     keepe(sound); //**this is where i call the function** 
     }); 
    }); 







}; 

$(document).ready(main); 
+0

不清楚,不清楚? – 2014-11-21 18:36:46

+1

我只想指出,這是一個您正在使用JavaScript構建的HTML網站。這不是一個JavaScript網站。那麼該函數如何表現?什麼是'怪異*'?應該發生什麼,問題是什麼? – 2014-11-21 18:37:52

+0

我認爲它是因爲'appendTo。()'中的'.'而引發錯誤? – Mathletics 2014-11-21 18:38:42

回答

1

$(accumulate).appendTo.('#whole');//這個選項會破壞大部分的網站功能

你有appendTo經過一段時間的,這不應該在那裏,可能是破壞你的代碼。 另外,我相信appendTo方法接受一個jQuery對象作爲它的參數,但是你傳遞了一個字符串。

+0

'appendTo'方法可以很好地取一個字符串,它被用作選擇器來定位元素。參考:http://api.jquery.com/appendTo/ – Guffa 2014-11-21 18:47:56

+0

非常感謝幫助 – Jumbalaya 2014-11-21 20:51:23

+0

如果這個答案充分回答你的問題,請選擇它作爲正確的答案。 – 2014-11-21 20:52:49