1

我想做的是在用户重新刷新页面时保存 CSS 样式。这是我的 jQuery 代码:

$(function() {

$("#slider").draggable({
    axis: 'x',
    containment: 'parent',
    drag: function(event, ui) {
        if (ui.position.left > 230) {
            $("#well").fadeOut();
            $( "#well" ).addClass( "disappear" );
        } else {
            // Apparently Safari isn't allowing partial opacity on text with background clip? Not sure.
            // $("h2 span").css("opacity", 100 - (ui.position.left / 5))
        }
    },
    stop: function(event, ui) {
        if (ui.position.left < 231) {
            $(this).animate({
                left: 0
            })
        }
    }
});

$('#slider')[0].addEventListener('touchmove', function(event) {
    event.preventDefault();
    var el = event.target;
    var touch = event.touches[0];
    curX = touch.pageX - this.offsetLeft - 73;
    if(curX <= 0) return;
    if(curX > 230){
        $('#well').fadeOut();
    }
    el.style.webkitTransform = 'translateX(' + curX + 'px)'; 
}, false);

$('#slider')[0].addEventListener('touchend', function(event) {  
    this.style.webkitTransition = '-webkit-transform 0.3s ease-in';
    this.addEventListener( 'webkitTransitionEnd', function( event ) { this.style.webkitTransition = 'none'; }, false );
    this.style.webkitTransform = 'translateX(0px)';
}, false);

});

当添加“消失”类时,即使页面重新加载,我也希望保留它。我在这里找到了一篇有用的帖子,但由于我是 Javascript 的初学者,我不确定如何在我的情况下使用它,如果有人能给我一个个性化的答案,我会非常高兴。

提前致谢!

4

2 回答 2

0

$( "#well" ).addClass( "disappear" );添加后

localStorage['wellClass'] = 'disappear';

在下面的行中$(function() {添加

previousWellClass = localStorage['wellClass'];
if (previousWellClass) $('#well').addClass(previousWellClass); 
于 2013-08-16T14:05:10.017 回答
0

这将为您完成大部分工作。

var setClass = JSON.parse(localStorage.getItem('setClass')) || {};
$.each(setClass, function () {
    $(this.selector).addClass(this.className);
});
var addClassToLocalStorage = function(selector, className) {
    setClass[selector + ':' + className] = {
        selector: selector,
        className: className
    };
    localStorage.setItem('setClass', JSON.stringify(setClass));
};
var removeClassFromLocalStorage = function(selector, className) {
    delete setClass[selector + ':' + className];
    localStorage.setItem('setClass', JSON.stringify(setClass));
};

然后你可以这样做:

$("#well").fadeOut();
$("#well").addClass("disappear");
addClassToLocalStorage('#well', 'disappear');
// remove it removeClassFromLocalStorage('#well', 'disappear');

小提琴

然后,如果您以后需要,您可以重复使用它。

于 2013-08-16T14:20:45.343 回答