Archive for 'Javascript'
一杯茶的功夫…原来部门的两位同事离职了…
原来的小业务部门也散了…
正所谓物事人非…
好吧不提这些往事…
今天分享的是mootools的switchable效果,这些效果我一个月以前已经整理好放到了ShopEx官方的wiki上…
现在就同步到我的私人blog里。
先说一下引用switchable的方法:(switchable基于Mootools1.3版本以上)
- 1.完成html+css代码的编写,依次加入mootools.js和switchable.js,注意先后顺序
- 2.最外层的父元素必须声明类名class为”Auto_Widget”!!!
- 3.在外层的父元素上写上属性data-widget-type,选择效果名称,例如Tabs,Switchable,Accordion,Popup
- 4.如有必要,在外层的父元素上写上属性data-widget-config,选择你想要的参数配置实现不同的效果。
下面放出各种效果:
具体的各种效果引用方法和参数配置,请点击这里。
全部实例打包下载,请点击这里。
前段时间在Tbu压力较大,现在已经调入UED两个月了,上周同事好奇的在google里随便那么一搜 ShopEx UED,赫然发现我的blog居然排名第三,亢奋之激情立马溢于言表…哈哈哈哈!
前面很久没写blog了,我将努力改掉这个坏习惯!
今天随便写点:
在制作ShopEx挂件时,经常需要用到不同的模板页,配置菜单需要显示隐藏对应的模板页面参数配置:
简单的分享一些基础的mootools判断隐藏显示代码:
$$('.widgetconfig select').addEvent('change',function(e){
if(this.value=='default.html'){
$$('.widgetconfig1')[0].show();
$$('.widgetconfig1')[1].hide();
}else{
$$('.widgetconfig1')[0].hide();
$$('.widgetconfig1')[1].show();
}
});
用Mootools的class选择器,选中某个select框,
判断他的值如果是default.html的话
第一个含有class=“widgetconfig1”的元素显示,第二个隐藏
如果不是default.html的话
第一个含有class=“widgetconfig1”的元素隐藏,第二个显示
Tagged with Mootools, 前端优化.
ShopEx前端团队一直引以为傲的Mootools……
Gezhi同学一手编写的Switchable……
超级简单的代码套用……
看疗效:猛烈点击这里,注意旁边滚动条的长度!!!,同时可以通过firebug查看“被lazy”的代码!
关键代码分析:
<script src="mootools-1.2.4-core.js" type="text/javascript"></script>
<script src="switchable.js" type="text/javascript" ></script>
注意这里的2个Js的先后顺序,先插mootools再插swithable!
<textarea class="textarea-lazyload-block">
需要加载的内容.......
</textarea>
在textarea的标签内,插入需要延迟加载的内容.
接下来,需要在页面的底部-的前面加入:
<script>
new DataLazyLoad({textarea:'textarea-lazyload-block'});
</script>
只要你拥有这些简单的套用,复杂的lazyload迎刃而解!
点击这里下载mootools-lazyload文件包
jCarousel是一款JQuery 插件, 用来控制水平或垂直排列的列表项. 这些项目(可以是静态HTML内容或是Ajax加载内容)内容是可以来回滚动的(可以有动画效果)。
相关配置文件和一些基本介绍:请点击这里查看
废话不多说,上效果:
Demo:
简单的拿example举例: —-含外部控制的滚动切换
jQuery(document).ready(function() {
jQuery("#mycarousel").jcarousel({
scroll: 1,
initCallback: mycarousel_initCallback,
buttonNextHTML: null,
buttonPrevHTML: null //注意这里不能带标点符号 兼容(IE)
});
});
这里非常需要注意的一点是:
配置的参数的最后1个不能带有逗号或者是分号!否则IE下是会显示JS报错!从而导致JS失效!
Example里的一些东西都可以经过修改转成各种效果,很实用!
这里提供了打包下载! 欢迎分享!
淘布斯网站需要做一个回顶部的简单效果,mootools功能强大可以直接往上写,而Jquery简练,需要挂一个简单的小插件。
点击这里查看Mootools的回顶部Demo
先发下Mootools的写法 点击下载实例
window.addEvent('domready',function(){
$('gotop').inject(document.body).addEvent('click',function(){
new Fx.Scroll(window,{link:'cancel'}).toTop();
}).setOpacity(.8);
this.addEvent('scroll',function(){
if(window.getScrollTop()>100){
$('gotop').setStyle('top',window.getSize().y + window.getScrollTop() - $('gotop').getSize().y).show();
}else{
$('gotop').hide();
}
});
});
ID为gotop点击触发事件,当页面是最顶部的时候,按钮隐藏,不过按钮的定位需要CSS绝对定位在某一位置
———————–
Jquery的写法则更为简单,直接挂上插件就可以使用!
不过在scrolltopcontrol.js的配置的参数信息需要配置正确
点击这里查看Jquery的回顶部Demo
下面是关键代码配置参数 点击这里下载实例
/*startline: 鼠标向下滚动了100px后出现#topcontrol*/
/*scrollto: 它的值可以是整数,也可以是一个id标记。若为整数(假设为n),则滑动到距离
top的n像素处;若为id标记,则滑动到该id标记所在的同等高处*/
/*scrollduration:滑动的速度*/
/*fadeduration:#topcontrol这个div的淡入淡出速度,第一个参数为淡入速度,第二个参数
为淡出速度*/
/*controlHTML:控制向上滑动的,默认为<img src="up.png" style="width:48px;
height:48px" />,可以自行更改。该处的html代码会被包含在一个id标记
为#topcontrol的div中。*/
/*controlattrs:控制#topcontrol这个div距离右下角的像素距离*/
/*anchorkeyword:滑动到的id标签*/
/*state: isvisible:是否#topcontrol这个div为可见
shouldvisible:是否#topcontrol这个div该出现*/
setting:{startline:1,scrollto:0,scrollduration:1000 fadeduration:[500, 100]},
controlHTML: '<img src="up.png" style="width:24px; height:24px" />',
controlattrs: {offsetx:5, offsety:5},
anchorkeyword: '#top',
state: {isvisible:false, shouldvisible:false},
不多说,先看效果:点击这里查看演示 | 点击这里下载实例
关键Js代码:
$(function(){
$(".select_list li:odd").addClass("currert");
$("#menuClick").click(function(){
$("#vMenuList").slideToggle();
return false;
});
$(".select_list > li > a").hover(function(){
$(this).animate({
paddingLeft: 20
},100);
},function(){
$(this).animate({
paddingLeft: 5
},50);
});
});
解释一下:
$(".select_list li:odd").addClass("currert");
获取class=”select_list”下的li的偶数行给其添加class=”currert”,同时定义currert的样式,起到隔行换色的效果
$("#menuClick").click(function(){
$("#vMenuList").slideToggle();
return false;
});
获取id=”menuClick” 通过鼠标点击触发事件,触发id为vMenuList的sildsToggle的事件。
这段才是下拉框或者是下拉菜单的核心代码!!
$(".select_list > li > a").hover(function(){
$(this).animate({
paddingLeft: 20
},100);
},function(){
$(this).animate({
paddingLeft: 5
},50);
});
这一段是鼠标下拉框的触发水平移动事件:
获取class=”select_list”下的子元素li的子元素a,当鼠标放上(hover)触发:animate事件,左边内边距20px;时间100ms(0.1秒),当鼠标移开的时候再次触发animate事件,左边内边距5px;时间50ms(0.05秒)。
鼠标划过显示菜单, 离开隐藏菜单, 没有能比这个跟简单的了.
jQuery(document).ready(function(){
// 找到所有菜单, 并添加显示和隐藏菜单事件
jQuery('#menus > li').each(function(){
jQuery(this).hover(
// 显示菜单
function(){
jQuery(this).find('ul:eq(0)').show();
},
// 隐藏菜单
function(){
jQuery(this).find('ul:eq(0)').hide();
});
});
});
点击这里查看Demo演示
————————————————————————————————————————
淡出淡入导航菜单,需要注意的是,这里需要加入延迟处理!
// 线程 IDs
var mouseover_tid = [];
var mouseout_tid = [];
jQuery(document).ready(function(){
jQuery('#menus > li').each(function(index){
jQuery(this).hover(
// 取消淡出菜单的线程, 延时淡入菜单
function(){
var _self = this;
clearTimeout(mouseout_tid[index]);
mouseover_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').fadeIn(200);
}, 400);
},
// 取消淡入菜单的线程, 延时淡出菜单
function(){
var _self = this;
clearTimeout(mouseover_tid[index]);
mouseout_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').fadeOut(200);
}, 400);
});
});
});
点击这里查看Demo演示
——————————————————————————————————————-
鼠标悬停显示滚动展开菜单, 离开滚动卷起菜单. 需要加上延迟处理, 原因同淡出淡入导航菜单的处理.
// 线程 IDs
var mouseover_tid = [];
var mouseout_tid = [];
jQuery(document).ready(function(){
jQuery('#menus > li').each(function(index){
jQuery(this).hover(
// 取消卷起菜单的线程, 延时展开菜单
function(){
var _self = this;
clearTimeout(mouseout_tid[index]);
mouseover_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').slideDown(200);
}, 400);
},
// 取消展开菜单的线程, 延时卷起菜单
function(){
var _self = this;
clearTimeout(mouseover_tid[index]);
mouseout_tid[index] = setTimeout(function() {
jQuery(_self).find('ul:eq(0)').slideUp(200);
}, 400);
}
);
});
});
点击这里查看Demo演示
仍个Jquery中文手册到自己Blog上,方便查查!
Jquery中文手册 在线查看地址
由Zarknight 编译完成的Mootools中文手册,有幸在Google下到,争取把它变成自己的!!
Mootools中文手册 在线查看地址
Tagged with Jquery, Mootools.
Jquery的lightbox插件非常强大,而且支持自定义属性,便于修改!
强烈推荐!!
<script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
<script type="text/javascript" src="js/jquery.lightbox.packed.js"></script>
<script type="text/javascript">
$(function(){
$.Lightbox.construct({
show_linkback: false, /* 不显示右上角的方向链接 */
opacity:0.6, /* 背景透明度60% */
auto_resize:false, /* 不限制图片大小 */
});
});
</script>
Demo连接地址:
点击这里查看参数 点击这里效果演示
Demo下载地址:
点击这里下载相关文档
上周用Dedecms做了店掌柜的官方站点,
中间有一个环节用Jquery获取淘宝店铺信用的图片,来替换Dedecms字段输出的值。
for(var i=0;i<$('.taolevel').length;i++){
if($('.taolevel').eq(i).text()=='一钻'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_blue_1.gif />') }
if($('.taolevel').eq(i).text()=='二钻'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_blue_2.gif />') }
if($('.taolevel').eq(i).text()=='三钻'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_blue_3.gif />') }
if($('.taolevel').eq(i).text()=='四钻'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_blue_4.gif />') }
if($('.taolevel').eq(i).text()=='五钻'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_blue_5.gif />') }
if($('.taolevel').eq(i).text()=='一皇冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_cap_1.gif />') }
if($('.taolevel').eq(i).text()=='二皇冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_cap_2.gif />') }
if($('.taolevel').eq(i).text()=='三皇冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_cap_3.gif />') }
if($('.taolevel').eq(i).text()=='四皇冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_cap_4.gif />') }
if($('.taolevel').eq(i).text()=='五皇冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_cap_5.gif />') }
if($('.taolevel').eq(i).text()=='一金冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_crown_1.gif />') }
if($('.taolevel').eq(i).text()=='二金冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_crown_2.gif />') }
if($('.taolevel').eq(i).text()=='三金冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_crown_3.gif />') }
if($('.taolevel').eq(i).text()=='四金冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_crown_4.gif />') }
if($('.taolevel').eq(i).text()=='五金冠'){
$('.taolevel').eq(i).html('<img src=http://pics.taobaocdn.com/newrank/s_crown_5.gif />') }
if($('.taolevel').eq(i).text()=='商城'){
$('.taolevel').eq(i).html('<img src=http://www.shopex.cn/images/mall.gif />') }
};
原理:所有均只运行1次即跳出循环,
如果class为taolevel的标签下的文字全等于“店铺信用”
则用对应的图片的html代码来替换当前的文字
Tagged with Dedecms, Jquery.
最近评论