我有一个函数,调用时会加载一个外部 css 文件。该文件为视障人士生成高对比度版本的网站。单击图像按钮时,我可以调用此函数。
现在我需要的是能够在第二次单击同一个按钮时重新加载页面。此重新加载有效地删除了包含的 css,并使站点恢复正常。
我找不到任何代码可以让我单击图像按钮一次以调用一个函数,然后再次单击同一个图像按钮以执行另一个操作。
我之前试图问这个问题,但被告知我没有问过问题。我希望以上内容很清楚,如果您需要进一步澄清,请询问。
您可以创建一个全局变量并在第一次单击并加载 CSS 时$.clicked
存储true 。
在你的函数中,你总是检查全局变量的值,然后定义从那里采取什么行动。
看:
$(document).ready(function(){
$.clicked = false;
$("#loadCSS").click(function(e){
if ($.clicked){
// action to be taken to remove the CSS loaded
$.clicked = false;
} else {
// action to be taken to load the CSS
$.clicked = true;
}
});
});
我希望它可以帮助你
我认为你可以做这样的事情。
<img src= "..." onclick ="Mymethod();" alt="Imagename"/>
var IsCalledOnce = false;
function Mymethod()
{
if(IsCalledOnce)
{
//do something
}else
{
//do something
}
IsCalledOnce = true;
}
如果第一次没有刷新,您可以将值保存在全局变量范围内,并在所有其他时间刷新。
如果您想将该值保留更长时间,您可以使用以下任何一种
1. HTML5网络存储
2.饼干
3.隐藏场
4.数据库(通过ajax调用保存)
您可以设置一个全局变量:
jQuery(document).ready(function () {
$('#test').click(function () {
test();
});
});
var calledonetime = false;
function test()
{
if(calledonetime=== false)
{
calledonetime = true;
alert('first time');
}else
{
alert('second time');
}
}
因此,第一次单击时,它将执行第一个操作,然后执行第二个操作。
这是一个例子。
试试这个
在 HTML 中
<a><img id="test" src="temp5.jpg" /></a>
在 .js 中
$(document).ready(function()
{
var action = 1;
$("#test").click(function()
{
if ( action == 1 ) {
$("#div2").css('display','block');
action = 2;
} else {
$("#div3").css('display','block');
action = 1;
}
});
});
<button id="button">click me</button>
<div id="thing">default</div>
和
function first() {
$('#thing').html("first");
}
function second() {
$('#thing').html("second");
}
$('#button').on("click", function () {
first();
$(this).on("click", function () {
second();
});
});
http://jsfiddle.net/stevemarvell/xxJBH/
如果您想记住用户重新加载后的状态,那么您希望将其存储在 cookie 或类似的东西中。
我为自己做了这个:
function zo(f1, f2){
this.n = 0;
this.z = function(){
if(this.n === 0){
f1(); this.n = 1;
}
else{
f2(); this.n = 0;
}
}
}
var whatever = new zo(function(){/*do stuff*/}, function(){/*do stuff*/});
请记住this
您将要在whatever
.
Element.onclick = function(){
whatever.z.call(whatever);
}
这是简单而有用的。
flag = true ;
function myFunction() {
document.getElementById("demo").innerHTML = flag ? "Second paragraph" : "First paragraph";
flag = !flag
}
<p id="demo">First paragraph</p>
<button onclick="myFunction()">click me</button>
注意:“标志”可以更改。