代码拉取完成,页面将自动刷新
Css3 Tab选项卡
通过css3 :checked
:target
相结合来达到Tab选项卡效果
!
Tab页面: 需求: 就是一个Tab效果 要求刷新的时候 还是这个Tab 分析难点: 就后面那个 刷新的时候还是那个Tab 解答: (因为这些代码很常见是吧 就不写代码了) 1: 使用 css3 + hashChange --- https://github.com/rambo-panda/css3_tab.git 优: 页面不刷新,对页面的压力小,不用每次都请求数据库 重新渲染 css3 hashChange 对页面代码依赖小 易于扩展
劣:
【浏览器兼容性】 比如chrome44 会出现的 script标签 不能与 :target 伪类使用
页面不刷新 也许会造成数据缓存大
一个新技术
2: 使用最传统的原则 后面加查询参数 然后在Ejs里渲染
优:
枯燥的代码,学习成本最小的代码. 最可靠的代码 履行 一个url对应一个资源的 行业标准
依赖最少 没有js css我照样能让你看到数据的完整性
每次都去服务器拿最新的代码. 保证数据的正确性
劣:
每次都去服务器拿最新的代码,造成服务器压力过大。
扩展性差
可维护性较差
教训:
1: 绝对不要在产品上使用任何未经大量测试的 **新技术**
2: 最老套的最枯燥往往是最可靠的 web开发准则: 没有css 和 js,我仍然可以看到[数据的完整性] css js 是建立在html之上.
##注意点
:target
在刷新页面的时候,如果页面存在 <script>
则 :target
失效。 这就是JavaScript中为什么加一个 refresh
貌似只在chrome && version < 44
上看到这个问题 Chrome/46.0.2471.0 已经没有这个问题location.hash
以及 location.hash
不在合法范围的时候该怎么处理?<div class="tab_dom">
<div class="tab_labels">
<input type="radio" class="do_aaa" name="tab_helpful">
<a class="tab_label" href="#aaa">AAA</a>
<input type="radio" class="do_bbb" name="tab_helpful">
<a class="tab_label" href="#bbb">BBB</a>
<input type="radio" class="do_ccc" name="tab_helpful">
<a class="tab_label" href="#ccc">CCC</a>
</div>
<div class="tab_content">
<div id="aaa">this is AAA content</div>
<div id="bbb">this is BBB content</div>
<div id="ccc">this is CCC content</div>
</div>
<div>
.tab_dom{
.tab_labels{
input[type="radio"]{
position : fixed;
left : -1000px;
&:checked{
+a{
color : red;
}
}
}
}
.tab_content{
display : none !important;
&:target{
display : block !important;
}
}
}
$(function(){
(function(){
$('.tab_dom').exists(function(){
var allow_hash = $(this).find('.tab_label a').map(function(){
return $(this).attr('href').replace('#', '');
}).toArray(),
default_hash = 'aaa';
var hash_change = function(event){
var hash = win.location.hash.replace('#', '');
if(allow_hash.indexOf(hash) === -1){
location.hash=default_hash;
return;
}
$('.tab_label .do_' + hash).trigger('click');
};
$(win).bind('hashchange', hash_change).trigger('hashchange');
});
})();
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。