我有一個函數,當被調用時會加載一個外部的css文件。該文件爲視障人士提供了高對比度的網站版本。點擊圖像按鈕後,我可以調用此函數。點擊一個功能按鈕再次點擊另一個
現在我需要的是能夠重新加載頁面時,再次單擊相同的按鈕。此重新加載有效地刪除了包含的CSS,並返回該網站看起來正常。
我一直無法找到任何代碼,允許我單擊一次圖像按鈕來調用一個函數,然後再次單擊同一圖像按鈕來執行另一個操作。
我曾試圖問過這個問題,但被告知我沒有問過問題。我希望上述內容很明確,請詢問是否需要進一步澄清。
我有一個函數,當被調用時會加載一個外部的css文件。該文件爲視障人士提供了高對比度的網站版本。點擊圖像按鈕後,我可以調用此函數。點擊一個功能按鈕再次點擊另一個
現在我需要的是能夠重新加載頁面時,再次單擊相同的按鈕。此重新加載有效地刪除了包含的CSS,並返回該網站看起來正常。
我一直無法找到任何代碼,允許我單擊一次圖像按鈕來調用一個函數,然後再次單擊同一圖像按鈕來執行另一個操作。
我曾試圖問過這個問題,但被告知我沒有問過問題。我希望上述內容很明確,請詢問是否需要進一步澄清。
您可以設置一個全局變量:
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');
}
}
所以,第一次點擊,它會做的第一個動作,然後,第二。
這裏是exemple。
我認爲你可以做一些這樣的事情。
<img src= "..." onclick ="Mymethod();" alt="Imagename"/>
var IsCalledOnce = false;
function Mymethod()
{
if(IsCalledOnce)
{
//do something
}else
{
//do something
}
IsCalledOnce = true;
}
如果第一次沒有刷新,並且在所有其他時間刷新,則可以將該值保存在全局變量作用域中。
,如果你想堅持thatvalue更長 你可以使用任何的下列
2.Cookie
3.Hiddenfield
4.Database (通過阿賈克斯調用保存)
我做了這個我自己:
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);
}
<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或一些這樣的狀態。
您可以創建一個全局變量$.clicked
並存儲true當首先點擊並加載CSS。
在你的函數中,你總是檢查全局變量的值,然後定義從那裏執行的操作。
看到:
$(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;
}
});
});
我希望它可以幫助你
在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;
}
});
});
更改點擊處理程序中的點擊處理程序? – stevemarvell
重新加載後是否發生第二次點擊....即按鈕點擊會導致重新加載? –
應該沒有重新加載 – stevemarvell