Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用淡入淡出更改视图模式(并设置cookie)_Jquery_Cookies_Fadein_Fadeout_Setcookie - Fatal编程技术网

Jquery 使用淡入淡出更改视图模式(并设置cookie)

Jquery 使用淡入淡出更改视图模式(并设置cookie),jquery,cookies,fadein,fadeout,setcookie,Jquery,Cookies,Fadein,Fadeout,Setcookie,我需要为用户提供在列表视图、网格视图和全视图之间选择视图模式的选项。基本结构很简单,如下所示: <ul> <li><a href="#">List Toggle</a></li> <li><a href="#">Grid Toggle</a></li> <li><a href="#">Full Toggle</a></l

我需要为用户提供在
列表视图
网格视图
全视图
之间选择视图模式的选项。基本结构很简单,如下所示:

<ul>
    <li><a href="#">List Toggle</a></li> 
    <li><a href="#">Grid Toggle</a></li> 
    <li><a href="#">Full Toggle</a></li> 
</ul>

<div id="wrap">
<div id="list-view">
    <div class="line">lorem line</div>
    <div class="line">lorem line</div>
    <div class="line">lorem line</div>
</div>

<div id="grid-view">
    <div class="box">lorem box</div>
    <div class="box">lorem box</div>
    <div class="box">lorem box</div>
</div>

<div id="full-view">
    <div class="full">full lorem</div>
    <div class="full">full lorem</div>
    <div class="full">full lorem</div>
</div>
</div>
洛雷姆线 洛雷姆线 洛雷姆线 洛雷姆盒子 洛雷姆盒子 洛雷姆盒子 全彩 全彩 全彩
下面是一个
jsfiddle
我从
列表视图开始设置为可见,其他设置为隐藏:

这是我想实施的一个,但有3个选项需要它。。

基本上,如果单击某个视图模式,当前视图模式将淡出,选定的视图模式将淡入


如果可能的话,我还想添加一个cookie来记住用户的偏好,但我不知道怎么做。我对jQuery很陌生,希望我的问题不是太基本。

实际上没有什么特别的,你只有三个选项卡(列表、网格、完整)。 首先,我建议您遵循以下标记:

   <ul class="tabs js-view-mode">
      <li><a href="#list">List</a></li>
      <li><a href="#grid">Grid</a></li>
      <li><a href="#full">Full</a></li>
    </ul>

    <section id="viewMode">
      <div id="list">here is list mode content</div>
      <div id="grid">here is grid mode content</div>
      <div id="full">here is full mode content</div>
    </section>
你可以看到一个现场测试


编辑:(添加活动类别+延迟淡入/淡出+单击活动项目返回)

实际上没有什么特别的,您只有三个选项卡(列表、网格、完整)。 首先,我建议您遵循以下标记:

   <ul class="tabs js-view-mode">
      <li><a href="#list">List</a></li>
      <li><a href="#grid">Grid</a></li>
      <li><a href="#full">Full</a></li>
    </ul>

    <section id="viewMode">
      <div id="list">here is list mode content</div>
      <div id="grid">here is grid mode content</div>
      <div id="full">here is full mode content</div>
    </section>
你可以看到一个现场测试


编辑:(添加活动clas+延迟fadeIn/Out+单击活动项返回)

那么您的问题“如何根据用户的偏好使用cookie?”,或者“有人能从头开始编写jQuery代码吗?”到目前为止您尝试了什么?你看过
.fadeIn()
.fadeOut()
吗?我确实使用过类似的方法,但你只能选择两种查看模式。。。我想要cookie首选项选项,但可能这应该是一个不同的问题抱歉。这里是另一个问题:那么您的问题“如何将cookie用于用户的首选项?”,或者“有人可以从头开始编写jQuery代码吗?”到目前为止您尝试了什么?你看过
.fadeIn()
.fadeOut()
吗?我确实使用过类似的方法,但你只能选择两种查看模式。。。我想选择cookie preferences选项,但也许这应该是一个不同的问题对不起。这里是另一个:谢谢Stefanz!这看起来很棒,而且非常简单。是否有一个原因,当您切换视图模式时,内容会跳起来而不是平滑地淡入淡出?是的。问题在于css。必须将#viewMode position:relative;其子代地位:绝对;顺便说一句,如果你认为是soThanks,请给出正确的答案。问题是我的网站反应灵敏/流动性强,添加了一个位置:相对和绝对会把它甩了。有可能用另一种方法吗?目前我只有一个想法:用wrap.children().fadeOut()替换$(type).fadeIn().sides().fadeOut()$(类型).delay(500).fadeIn();无论如何,延迟参数取决于内容的长度。任何低于500的值都会给您带来一些问题。尝试一下,看看发生了什么。不确定你是否会得到这个评论Stefanz,但我试着这样做,如果你点击活动视图模式的锚,什么都不会发生。现在,它将淡出并重新进入..谢谢Stefanz!这看起来很棒,而且非常简单。是否有一个原因,当您切换视图模式时,内容会跳起来而不是平滑地淡入淡出?是的。问题在于css。必须将#viewMode position:relative;其子代地位:绝对;顺便说一句,如果你认为是soThanks,请给出正确的答案。问题是我的网站反应灵敏/流动性强,添加了一个位置:相对和绝对会把它甩了。有可能用另一种方法吗?目前我只有一个想法:用wrap.children().fadeOut()替换$(type).fadeIn().sides().fadeOut()$(类型).delay(500).fadeIn();无论如何,延迟参数取决于内容的长度。任何低于500的值都会给您带来一些问题。尝试一下,看看发生了什么。不确定你是否会得到这个评论Stefanz,但我试着这样做,如果你点击活动视图模式的锚,什么都不会发生。现在,它将淡出并重新进入。。