0
我正在爲每個點擊的導航容器設置一個cookie。splice()無法正常工作
它設置一個連接並設置cookie值的數組。 如果再次點擊,則將其從數組中移除。
它以某種方式越野車。
它只在點擊其他元素後纔會拼接。然後它表現奇怪。
這可能是splice
是不正確的方法
var navLinkToOpen;
var setNavCookie = function(value){
var isSet = false;
var checkCookies = checkNavCookie()
setCookieHelper = checkCookies? checkCookies.split(","): [];
for(i in setCookieHelper){
if(value == setCookieHelper[i]){
setCookieHelper.splice(value,1);
isSet = true;
}
}
if(!isSet){setCookieHelper.push(value)}
setCookieHelper.join(",")
document.cookie = "navLinkToOpen"+"="+setCookieHelper;
}
var checkNavCookie = function(){
var allCookies = document.cookie.split(';');
for (i = 0; i < allCookies.length; i++){
temp = allCookies[i].split("=")
if(temp[0].match("navLinkToOpen")){
var getValue = temp[1]
}
}
return getValue || false
}
$(document).ready(function() {
$("#LeftNav li").has("b").addClass("navHeader").not(":first").siblings("li").hide()
$(".navHeader").click(function(){
$(this).toggleClass("collapsed").nextUntil("li:has('b')").slideToggle(300);
setNavCookie($('.navHeader').index($(this)))
return false
})
var testCookies = checkNavCookie();
if(testCookies){
finalArrayValue = testCookies.split(",")
for(i in finalArrayValue){
$(".navHeader").eq(finalArrayValue[i]).toggleClass("collapsed").nextUntil(".navHeader").slideToggle (0);
}
}
});
謝謝,我聽到你在說什麼......也許我沒有使用正確的方法'splice()'。我想要的只是需要刪除找到的號碼。 – adardesign 2010-04-15 17:56:37
是啊,這是你想要的:)只是把它取代爲一個正常的我固定最後一個正是你需要:) – fmsf 2010-04-15 18:42:15