如何激活未激活的功能会影响网站?

时间:2014-11-21 18:34:15

标签: javascript

我正在写一个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);

1 个答案:

答案 0 :(得分:1)

$(accumulate).appendTo.('#whole'); //此选项会破坏大部分网站功能

你有appendTo之后的一段时间,它不应该存在,可能会破坏你的代码。 另外,我相信appendTo方法将jQuery对象作为其参数,但是你已经传入了一个字符串。