【问题标题】:HTML Page Options using jquery使用 jquery 的 HTML 页面选项
【发布时间】:2012-12-14 21:18:04
【问题描述】:

我正在尝试创建一个 html 页面选项。这个选项菜单是一个在悬停或点击时出现的面板,从那里我可以更改颜色、背景图案等,我认为这是在更改 css 文件或者它正在做其他事情,但我不知道怎么做。我试图在谷歌上找到一些东西,但我没有。

如果您不明白我在寻找什么,请查看此页面,将鼠标悬停在“+”按钮上,您就会看到。 http://themes.fbpixel.com/?theme=Landisimo%20-%20Landing%20Page

编辑:如果有人知道 jquery 插件已经为这类事情做过,请提交一个链接。

EDIT2:我真正想要的是一个插件,它可以保留我所做的属性更改,当我转到另一个网站页面时,颜色是我在第一页上选择的颜色。一个例子是:我的主页是红色的,我从面板选项中选择蓝色,当我进入博客页面时,该页面上的颜色为蓝色(我在上一页选择的颜色)。

谢谢。

【问题讨论】:

    标签: jquery html css options


    【解决方案1】:

    你可以这样做,HTML:

    <body class="red">
        <p>Some text</p>
        <a href="#" id="paint-blue">paint blue</a>
        <a href="#" id="paint-red">paint red</a>
    </body>
    

    CSS:

    body.red {
        background-color: red;
    }
    
    body.red p {
        color: yellow;
    }
    
    body.blue {
        background-color: blue;
    }
    
    body.blue p {
        color: white;
    }
    /* Some more stuff */
    

    JS:

    $("#paint-blue").click(function(event) {
        event.preventDefault();
        $("body").removeClass("red").addClass("blue");
    }
    
    $("#paint-red").click(function(event) {
        event.preventDefault();
        $("body").removeClass("blue").addClass("red");
    }
    

    这个想法是根据顶级 body 元素的类,页面上的某些元素的样式会有所不同。

    编辑:您链接到的示例页面使用 cookie 来存储所选主题,从外观上看,它总是加载黄色主题,然后一些 onload JS 检查 cookie 中的值并更改颜色。 Here 是一些使用 JS 设置和读取 cookie 的随机教程。 onload 看起来像这样:

    $(document).ready(function() {
        // Should be easy to write if you look at the tutorial
        var colour = getColourFromCookie();
        if (colour == 'blue') {
            $("#paint-blue").click();
        }
        // red is default, no need to do anything
    });
    

    您可以比示例站点做得更好的一件事是,您可以根据 cookie 值呈现不同的页面(不同的正文类),而不是总是呈现一个版本然后在客户端更改它——至少在我的在 JS 启动并更改颜色之前,计算机有明显的延迟。

    【讨论】:

    • 是的,但是我们在这里讨论的是页面的背景图案,关于一些会显示或不显示的 div。那怎么办?非常感谢您的回答!
    • 您也可以更改其他 CSS 属性,background-imagedisplay: hidden 或其他任何您想要的。看这里:csszengarden.com 看看你可以用 CSS 改变多少页面。当然你也可以扩展 click 处理程序并在 JS 中做一些操作,但 CSS 应该足以应付大多数事情。
    • 我知道你想说什么,我只是已经为此做了一个 jquery 插件或类似的东西。
    • 一个插件到底在做什么?没有人知道你希望你的页面是什么样子,你必须自己编写 CSS,如果你想要漂亮的动画或 CSS 类转换,你可以使用 jQuery UI。
    • 我想要示例中显示的内容。我也更新了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2014-11-12
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多