1

我正在创建一个与外部样式表有链接的页面,现在我创建了更多样式表并在页面中添加了一个下拉菜单,现在如何将这些选项与外部样式表链接起来,这样一旦用户从下拉菜单中选择一个选项,该页面的样式表应该完全更改为新的样式表...我该怎么做?

<div style="float:right;padding:26px 0 0 0;color:#fff;"><select>
      <option>please select your choice</option>
<option value="one">green</option>
<option value="two">red</option>
</select>

</div> 

我有上面的下拉菜单..

4

3 回答 3

1
    try this :)

1. give a id to your select box say(giveAId)
2. then in jquery function pass this id and apply a change function('this will notice the   the change made in your select box').
3. get it's value from option box 
4. then pass it to the link href like in this example


 <script type="text/javascript">
    $(function() {
        $("#giveAId").change(function(){ //2 step
           var stylesheet = $(this).val(); // 3 step
           $('link').attr('href',stylesheet+ '.css'); //4 step done here
          });
    });

 </script>


    <div  style="float:right;padding:26px 0 0 0;color:#fff;">
       <select id="giveAId"> // 1 step
          <option>please select your choice</option>
          <option value="one">green</option>
          <option value="two">red</option>
        </select>
    </div> 
于 2012-05-31T05:21:11.307 回答
0

您可以给用户一个 cookie,它会记住他们从菜单中选择了哪个样式表,并根据该 cookie 为页面加载 CSS。然后只需让它在点击时刷新页面,如果需要,可以使用 AJAX。

于 2012-05-31T04:54:50.877 回答
0

提交表单并使用会话/cookies 来记住选择

例如

$_SESSION['selected_stylesheet'] = $_POST['stylesheet'];

然后当你调用外部 css 文件时你应该​​使用 $_SESSION['selected_stylesheet']

<link type="text/css" href="<? echo $_SESSION['selected_stylesheet'] ?>.css" rel="stylesheet" />

我认为这会奏效

于 2012-05-31T05:04:22.660 回答