用dojo实现动态更换样式
来源:互联网 发布:有哲理诗词推荐知乎 编辑:程序博客网 时间:2024/05/05 07:15
以下几个例子,个人觉得很有用,希望能看见的你们也能有用:
<script type="text/javascript">
dojo.require("dojo.lang.common");dojo.require("dojo.event.common");
dojo.require("dojo.html.style");
dojo.require("dojo.string.extras");
dojo.require("dojo.collections.ArrayList");
function initPageStyle()
{
initInputElementStyle();
}
/*
初始化所有input标签的样式
*/
function initInputElementStyle()
{
var inputElements=document.getElementsByTagName("input"); //初始化标签
if(inputElements)
{
for(var i=0;i<inputElements.length;i++)
{
var inputElement=inputElements.item(i);
if(dojo.html.hasAttribute(inputElement,"type")) //属性对比
{
var typeAttr=dojo.html.getAttribute(inputElement,"type");
var lowerCaseTypeAttr=typeAttr.toLowerCase();
if(lowerCaseTypeAttr=="text")
{
initTextFieldStyle(inputElement); //对text文本做编辑
}
else if((lowerCaseTypeAttr=="submit")||(lowerCaseTypeAttr=="reset")||(lowerCaseTypeAttr=="button"))
{
initSimpleButtonStyle(inputElement); //对button做编辑
}
}
}
}
}
/*
初始化所有text标签的样式
*/
function initTextFieldStyle(textField)
{
if(textField)
{
if(!dojo.html.hasAttribute(textField,"class"))
{
dojo.html.addClass(textField,"TextBox"); //添加属性
}
var classNames=dojo.html.getClasses(textField);
var classNameArray=new dojo.collections.ArrayList(classNames);
classNameArray.forEach(
function(item){
if(dojo.lang.isString(item))
{
addFocusCssStyle(textField,item,item+"Focused"); //添加焦点
addBlurCssStyle(textField,item,item+"Focused");
}
}
);
}
}
/*
初始化所有简单button标签的样式
*/
function initSimpleButtonStyle(buttonElement)
{
if(buttonElement)
{
if(!dojo.html.hasAttribute(buttonElement,"class"))
{
dojo.html.addClass(buttonElement,"Button");
}
var buttonClassNames=dojo.html.getClasses(buttonElement);
var buttonClassNameArray=new dojo.collections.ArrayList(buttonClassNames);
buttonClassNameArray.forEach(
function(item){
if(dojo.lang.isString(item))
{
addMouseOverCssStyle(buttonElement,item,item+"Hover"); //添加聚焦hover时间,类是css伪类
addMouseOutCssStyle(buttonElement,item,item+"Hover");
}
}
);
}
}
/*
添加onblur事件下的样式
*/
function addBlurCssStyle(element,blurCssClassName,focusCssClassName)
{
if(element)
{
var blurFunc={
doBlur:function(){
dojo.html.replaceClass(element,blurCssClassName,focusCssClassName);
}
}
dojo.event.connectBefore(element,"onblur",blurFunc,"doBlur");
}
}
/*
添加onfocus事件下的样式
*/
function addFocusCssStyle(element,blurCssClassName,focusCssClassName)
{
if(element)
{
var focusFunc={
doFocus:function(){
dojo.html.replaceClass(element,focusCssClassName,blurCssClassName);
}
}
dojo.event.connectBefore(element,"onfocus",focusFunc,"doFocus");
}
}
/*
添加onmouseover事件下的样式
*/
function addMouseOverCssStyle(element,mouseOutCssClassName,mouseOverCssClassName)
{
if(element)
{
var mouseOverFunc={
doMouseOver:function(){
dojo.html.replaceClass(element,mouseOverCssClassName,mouseOutCssClassName);
}
}
dojo.event.connectBefore(element,"onmouseover",mouseOverFunc,"doMouseOver");
}
}
/*
添加onmouseout事件下的样式
*/
function addMouseOutCssStyle(element,mouseOutCssClassName,mouseOverCssClassName)
{
if(element)
{
var mouseOutFunc={
doMouseOut:function(){
dojo.html.replaceClass(element,mouseOutCssClassName,mouseOverCssClassName);
}
}
dojo.event.connectBefore(element,"onmouseout",mouseOutFunc,"doMouseOut");
}
}
dojo.addOnLoad(initPageStyle);
</script>
- 用dojo实现动态更换样式
- struts2 dojo 实现动态树
- flex 动态更换css样式表
- js遍历li并动态更换下级节点的样式
- android 动态实现点击ImageButton更换图片
- dojo(三):样式处理
- dojo样式不生效
- [JavaScript]JavaScript实现级联样式表,更换风格!
- javascript+css无刷新实现页面样式的更换
- 利用CSS3媒体查询实现更换样式表
- 使用dojo下Menu和PopupMenuItem实现动态菜单
- tabcontainer更换样式
- 更换按钮的样式
- bootstrap 下拉更换样式。
- Jquery 点击更换样式
- CListCtrl控件图标显示和动态更换实现
- Dojo动态创建CheckBox
- Dojo动态创建TabContainer
- ++i ; ++i
- 浅析数据分页技术
- jsp页面的选择判断
- SurfaceView的简单使用
- 《华为研发》阅读 - 16 (矩阵式管理)
- 用dojo实现动态更换样式
- 封闭性问题、开放性问题、挑战性问题
- 私服脚本制作教程......
- 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true"
- 开源技术选型手册
- uva 10271 Chopsticks
- hp unix命令集
- vmware下安装ubuntu键盘不能使用
- eobdtool about us