如何關閉當前點擊觸發器時打開div或其他觸發器(打開頁面上的其他事件)的div?無論點擊哪個觸發器,總是關閉當前div
所以基本我有兩個鏈接:登錄和註冊。當您單擊註冊時,登錄塊/ div消失並且註冊div顯示。當我點擊登錄時,Register div隱藏並顯示Login div。
另外當我,例如,單擊登錄並登錄div已顯示 - 登錄div必須隱藏。
我該如何做到這一點?我嘗試了幾天,但不幸的是,我是jQuery的初學者,而且我在jQuery方面的技能目前還不是很好。我製作了以下腳本。當你點擊同一個觸發器時,我只能隱藏/顯示div。如果您點擊註冊並登錄,divs將顯示在海誓山盟之上,沒有隱藏。
;(function($) {
var $jq = jQuery.noConflict();
$jq.fn.login_switch = function(options) {
var o = $jq.extend({}, $jq.fn.login_switch.defaults, options);
var $this = $jq(this);
$jq(this).click(function(e)
{
e.preventDefault();
// hides matched elements if shown, shows if hidden
$jq(this).closest("div#wrapper").children("div#member_login").eq(0)[o.method](o.speed);
});
};
$jq.fn.reg_switch = function(options) {
var o = $jq.extend({}, $jq.fn.reg_switch.defaults, options);
var $this = $jq(this);
$jq(this).click(function(e)
{
e.preventDefault();
// hides matched elements if shown, shows if hidden
$jq(this).closest("div#wrapper").children("div#member_reg").eq(0)[o.method](o.speed);
});
};
$jq.fn.login_switch.defaults = {
speed : "slow",
method: "slideFadeToggle"
};
$jq("a.log-expand").login_switch();
$jq.fn.reg_switch.defaults = {
speed : "slow",
method: "slideFadeToggle"
};
$jq("a.reg-expand").reg_switch();
var msie = false;
if(typeof window.attachEvent != 'undefined') { msie = true; }
$jq.fn.slideFadeToggle = function(speed, easing, callback) {
return this.animate({opacity: 'toggle', height: 'toggle'}, speed, easing, function() {
if (msie) { this.style.removeAttribute('filter'); }
if (jQuery.isFunction(callback)) { callback(); }
});
};
};
})(jQuery);
我的HTML是:
<div id="member_reg" style="display:none;">
<div class="container">
<div class="sixteen columns">
REGISTRATION.
</div>
</div>
</div>
<div id="member_login" style="display:none;">
<div class="container">
<div class="sixteen columns">
LOGIN.
</div>
</div>
</div>
與觸發按鈕:
<ul class="user">
<li><a href="javascript:void(0);" class="reg-expand register">Register</a></li>
<li><a href="javascript:void(0);" class="log-expand login">Login</a></li>
</ul>
能否請你分享你的'HTML'爲'divs'和按鈕? – zgood
你檢查了jQuery中的toggle()方法嗎?你可以使用它輕鬆實現顯示/隱藏元素。 – dinukadev
你在這裏有什麼是過度殺傷 – zgood