2011-12-14 2 views
0

У меня есть проблема. Я пытаюсь интегрировать адрес jQuery http://www.asual.com/jquery/address/ на свой сайт. В качестве теста я создал тестовый сайт http://electricchapel.net/ecad/. Это работает, но у меня есть один вопрос:hide/show не работает в сочетании с адресом jQuery

Я использовал hide();, чтобы просто скрыть содержимое, и я использовал show();, чтобы показать его после загрузки содержимого. Тем не менее он скользит/исчезает, и он скользит/исчезает. Я не понимаю. Разве это не просто скрыть и показать? Как я могу обойти эту проблему?

ответ

1

Это выглядит как ваш соответствующий код заключается в следующем:

$('#content').hide(function() { 
    $(this).html($('#content', data).html()).show(); 
}); 

Если вы не используете .hide() с не аргументы, то он сразу скрывает ваш контент.

Если вы используете .hide() с такими аргументами, как вы, то он станет анимацией и выбирает значения по умолчанию для параметров анимации, которые не указаны, что вызывает вид анимации, который вы видите. Вот общий пример, который показывает, что: http://jsfiddle.net/jfriend00/LXcDp/.

Если вы хотите сразу же скрыть/показать, вы можете изменить свой код на этот:

$('#content').hide(); 
$('#content').html($('#content', data).html()).show(); 
+0

Спасибо, но я думаю, что в вашем решении '$ (this)' было неправильно, поэтому я просто заменил его на '$ ('# content')', и это сработало для меня. '$ ('# content'). Hide(); $ ('# content'). Html ($ ('# content', data) .html()). Show(); ' + БОЛЬШОЕ СПАСИБО за разъяснение меня, почему' hide(); 'появился как анимация. –

+0

Да, я удаляю «это» из моего предложения. Рад, что сработало. – jfriend00

0

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

// hide element 
    $('#yourElement').addClass('hidden'); 

// show element 
    $('#yourElement').removeClass('hidden'); 

и CSS:

.hidden{ 
    display:none; 
} 
+0

Я посмотрел в JQuery исходного кода адреса и не вижу в любом месте, что он использует или изменяет '.hide () 'или' .show() ', поэтому я не думаю, что это правильно. – jfriend00

Смежные вопросы