2013-09-11 4 views
0

У меня есть файл на моей странице с помощью JavaScript, некоторые из кода:Второй JQuery переключения() разбивает метод первого переключения()

function($) { 
var u = $; 
function wm_toggle_section(section_id) { 
    var b = document.getElementById('section_' + section_id), id, 
     hash, d, 
     bb = b.getElementsByTagName('button')[0], i, e, closed, reset = []; 
    if(u(b).hasClass('openSection')) { 
     u(b).removeClass('openSection'); 
     u(bb).text('Show'); 
     closed = true; 
    } else { 
     reset.push(b); 
     u(b).addClass('openSection'); 
     u(bb).text('Hide'); 
    } 
    for (i = 0, d = ['content_','anchor_']; i<=1; i++) { 
     e = document.getElementById(d[i] + section_id); 
     if (e && u(e).hasClass('openSection')) { 
      u(e).removeClass('openSection'); 
     } else if(e) { 
      reset.push(e); 
      u(e).addClass('openSection'); 
     } 
    } 

Это работает отлично.

Однако, если добавить еще один файл с кодом

http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js 
$("button").click(function(){ 
    $("p").toggle(); 
}); 

он ломает первый код и ни один из кодов работы. Почему это?

+2

проверить вашу консоль ... вы должны иметь некоторые ошибки там – bipen

+0

вы не должны включать в себя jquery library снова, он сбросит все существующие переменные, поэтому не работает – Shadow

+0

, почему вы говорите «снова», где я включил его в первый раз? Я не вижу его включенным в первый файл? Я что-то упускаю? – LTech

ответ

0

Добавить библиотеку jquery один раз в заголовке и удалить любые другие вхождения после включения скрипта, если вы включите его дважды или более, все переменные будут сброшены.

удалить эту строку только в вашем включении файла ->http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js

Остальное все это нормально и будет работать

$("button").click(function(){ 
    $("p").toggle(); 
}); 
Смежные вопросы