2012-04-23 2 views
-1

это простой html css меню. теперь он отлично работает для перенаправления страниц (href).hide меню после нажатия (выцветание)

но я хочу скрыть после нажатия на него.

я просто позвонить на функцию, когда нажмите на него, который будет вызывать AJAX запрос

http://jsfiddle.net/5TBFr/ код здесь в ссылке

here is image snap

+4

Не могли бы вы перефразировать свой вопрос, я потерялся после второй строки :( – doNotCheckMyBlog

+0

Он работает так, как ожидалось, в Mozilla Firefox. Вы пытаетесь в другом браузере. – Murtaza

+0

Он закрывается после нажатия на Google Chrome тоже ... – DarkAjax

ответ

2

Я supose это то, что вы ищете: http://jsfiddle.net/5TBFr/26/

Я добавил нажмите событие для элементов a, и я возвращаю false, поэтому запрос прекращается. Вы можете добавить свой запрос ajax. Я немного поработал, перемещая элемент «ul», чтобы мышь оставила его и скрылась, затем я возвращаю его в исходное положение.

+0

'.closest ('ul')' может быть лучше, чем 'parent(). Parent()'. – j08691

+0

@gabitzish: он не работает, когда после скрытия. в следующий раз он не появится (не затухает). –

+0

Ссылка в ответе устарела. Вот тот, который работает без обновления http://jsfiddle.net/5TBFr/26/ – gabitzish

0

Прежде всего, если я вас понял, для чего вы хотите, вам понадобится jQuery, почему? Поскольку javascript не знает, какие свойства CSS влияют на определенный элемент.

Во-вторых, то, как вы используете CSS, неверно, вы смешиваете дизайн и функциональность, а для самой простой задачи, такой как эта, вы столкнетесь с такими проблемами. CSS не предназначен для отображения или скрытия меню, даже если вы можете, CSS должен стилизовать вещи даже динамически, но при взаимодействии с пользователем вы ввернуты. Так что будьте осторожны: P

В JQuery должно быть что-то вроде этого:

$(document)​.ready(function() 
{ 
    $('ul').on('click', 'li a', function() 
    { 
     $(this.parentElement.parentElement).hide(); 
    }); 
});​ 

http://jsfiddle.net/5TBFr/25/

+0

Ваш jsFiddle работает, потому что вы продолжаете делать запрос. Вы должны вернуть false при щелчке. Возвращение false будет работать для вас только один раз, потому что скрытый элемент ul больше никогда не появится. – gabitzish

+0

«Потому что javascript не знает, какие свойства CSS влияют на определенный элемент». Конечно. Поскольку jQuery - это JavaScript, все, что может сделать jQuery, может сделать JavaScript. – j08691

+0

@ j08691 уверен, jQuery - это javascript, но я не хочу знать, что внутренне делает jQuery для извлечения в простом причудливом списке, все свойства css напрямую влияют на элемент DOM. Если вы знаете, пожалуйста, оцените, пожалуйста, –

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