jQuery登录按钮正在打开一个登录窗口,但如果javascript关闭
我有一个登录按钮,它是一个链接。 当我点击它时,它会滑下一个包含登录表单的小窗口 现在,我想做的是,如果浏览器不支持javascript代码(JS处于脱机状态),那么它将转到链接 我需要找到一种方法在点击时禁用该按钮ID的链接,JS会这样做,当JS关闭时,它会像正常一样通过 这是我的代码:jQuery登录按钮正在打开一个登录窗口,但如果javascript关闭,jquery,Jquery,我有一个登录按钮,它是一个链接。 当我点击它时,它会滑下一个包含登录表单的小窗口 现在,我想做的是,如果浏览器不支持javascript代码(JS处于脱机状态),那么它将转到链接 我需要找到一种方法在点击时禁用该按钮ID的链接,JS会这样做,当JS关闭时,它会像正常一样通过 这是我的代码: $(document).ready(function() { $("#loginToggler").click(function() { setTimeou
$(document).ready(function() {
$("#loginToggler").click(function() {
setTimeout(function() {
$("#login_block").slideToggle("slow");
}, 100);
});
$("#closeLogin").click(function() {
$("#login_block").slideUp("fast");
});
});
<li id="last-child"><a href="#"><div id="login"></div></a></li>
$(文档).ready(函数(){
$(“#loginToggler”)。单击(函数(){
setTimeout(函数(){
$(“#登录块”)。滑动切换(“慢速”);
}, 100);
});
$(“#closeLogin”)。单击(函数(){
$(“登录块”).slideUp(“快速”);
});
});
我可以在那里做些什么来做到这一点?将实际链接放到
href=“
中,并将onclick=“return false;”“
添加到标记中
即:
“return false”告诉浏览器,如果启用了JavaScript,则不要跟随该链接。如果未启用JavaScript,“onclick”事件将不会触发,“return false”无效
使登录成为普通超链接
在JQuery中,更改超链接的href属性,使其不再链接到任何内容
添加滑出功能
您可以使用.attr函数使其在javascript中不再直接链接到登录页面。所以会有点像
<li id="last-child"><a href="loginpageurl" id="loginbutton"><div id="login"></div></a></li>
$(document).ready(function() {
$("#loginbutton").attr("href","#");
$("#loginToggler").click(function() {
setTimeout(function() {
$("#login_block").slideToggle("slow");
}, 100);
});
$("#closeLogin").click(function() {
$("#login_block").slideUp("fast");
});
});
$(文档).ready(函数(){
$(“#登录按钮”).attr(“href”,“#”);
$(“#loginToggler”)。单击(函数(){
setTimeout(函数(){
$(“#登录块”)。滑动切换(“慢速”);
}, 100);
});
$(“#closeLogin”)。单击(函数(){
$(“登录块”).slideUp(“快速”);
});
});
根据需要调整标识符
因此,如果没有javascript,它将像普通链接一样运行。如果有,链接将无处可去,滑出功能将被启用。您可以使用e.preventDefault()并让您的登录链接href转到登录页面
如果启用了javascript:
用户单击login_块将向下滑动的链接,然后调用e.preventDefault()以防止使用href位置
如果禁用javascript:
将使用href位置,并将用户带到登录页面
$(document).ready(function() {
$("#loginToggler").click(function() {
$("#login_block").slideToggle("slow");
e.preventDefault();
});
$("#closeLogin").click(function() {
$("#login_block").slideUp("fast");
});
});
<li id="last-child">
<a href="http://www.Somesite.com/Login">
<div id="login"></div>
</a>
</li>
$(文档).ready(函数(){
$(“#loginToggler”)。单击(函数(){
$(“#登录块”)。滑动切换(“慢速”);
e、 预防默认值();
});
$(“#closeLogin”)。单击(函数(){
$(“登录块”).slideUp(“快速”);
});
});
对于禁用JavaScript的人,为什么不让表单始终可见并隐藏,然后用JavaScript制作动画呢?我宁愿将它们发送到实际登录页面,这就是我的设计。你可以使用标记更改链接的href指向实际登录页面<代码>
如果我返回false,登录将不会出现,因为我返回的是js,我认为它没有打开。在这种情况下,您可以创建一个函数来显示您的登录弹出窗口,并在onclick中调用它,然后返回false。不起作用。如果我没记错的话,我想Attr被重命名为其他名称了?
$(document).ready(function() {
$("#loginToggler").click(function() {
$("#login_block").slideToggle("slow");
e.preventDefault();
});
$("#closeLogin").click(function() {
$("#login_block").slideUp("fast");
});
});
<li id="last-child">
<a href="http://www.Somesite.com/Login">
<div id="login"></div>
</a>
</li>