`

重新封装按钮样式

阅读更多

最近做的一个项目需要用到很多按钮样式,本想用样式表直接完成的,可是调用的时候有些麻烦,所以借用jquery重新封装一下按钮样式,此内容是为了让自己以后能看懂。个人记忆不好,自己做过的东西,一段时间不用就会忘了。

 

1.完成基本样式

 

 html部分

<span class="z-btn-box"><span class="z-btn-left"><a href="#" class="icon-cls">添加</a></span></span>

 

.z-btn-box,z-btn-box-hover{	color:#444;	background:url(../images/button/btnout_bg_right.gif) no-repeat top right;font-size:12px;text-decoration:none;display:inline-block;
display:-moz-inline-stack;*display:inline;zoom:1;height:24px;line-height:24px;padding-right:10px; cursor:pointer;}
.z-btn-box input{background:transparent;border:none; margin-bottom:8px;background-repeat:no-repeat; background-position:left top;cursor:pointer;} 
.z-btn-box a{background:transparent;border:none; padding:2px;*padding-top:0px; padding-left:20px; background-repeat:no-repeat; background-position:left center; text-decoration:none; color:#333;}
.z-btn-left,.z-btn-left-hover{display:block;background:url(../images/button/btnout_bg_left.gif) no-repeat top left;	padding:5px 0px 5px 10px;line-height:14px;}
.z-btn-box-hover{background-image:url(../images/button/btnover_bg_right.gif);}
.z-btn-left-hover{background-image:url(../images/button/btnover_bg_left.gif);}

 

 完成此基本后,样式基本完成。

但使用的时候很不方便。(附件:按钮样式)

每次都要加上sapn

2.使用jquery把a,input标记包裹起来,这样就不用多写代码了。

(function ($) {

    /** 
    * @fileOverview 简单按钮样式封装 
    * @author <a href="http://gleams.iteye.com/blog/985989">星月</a> 
    * @version 0.1 
    */

    $.fn.linkButton = init;

    function init() {
		
      inputButton();
        aButton();
	  buttonStyle();
        
    }
	
	
   function wrapSapn(targe){
	    var wrapCode = "<span class='z-btn-box'><span class='z-btn-left'></span></span>";
	    var i_icon = $(targe).attr('icon');
	     $(targe).wrap(wrapCode).addClass(i_icon);
		
		
	 }
        /** 
        * @description inputButton() 
        */
	function inputButton() {
		
		
		//button
		  $('input[type="button"]').each(function(){
			if($(this).attr('value')!=""){
			    wrapSapn(this);
			    $(this).css('padding-left', '20px');
			  }
			});
			
			
		//submit	
	    	$('input[type="submit"]').each(function(){
			  if($(this).attr('value')!=""){
				 wrapSapn(this);
				 $(this).css('padding-left', '20px');
				}		 
		    });
		
		//submit	
	    	$('input[type="reset"]').each(function(){
			  if($(this).attr('value')!=""){
				 wrapSapn(this);
				 $(this).css('padding-left', '20px');
				}		 
		    });
		

	}

	function aButton() {
	//a	
	    $('a').each(function(){
		  if($(this).text()!=""){
			 wrapSapn(this);
			 $(this).css('padding-left', '20px');
			}		 
		 });
		
	}
	
	function buttonStyle(){
		  $("span.z-btn-box").hover(function () { $(this).toggleClass("z-btn-box-hover"); $(this).children().toggleClass("z-btn-left-hover"); });//鼠标经过样式
		}
	
	//启动
    $(function () {
        $(".z-btn-box").linkButton();
		
    })
})(jQuery);

 重新包裹后,调用就方便了。

<input type="button" icon='icon-add' value="热饭" />

   这样可以使用在样式表里定义的55个按钮样式了。

 

分享到:
评论

相关推荐

    WPF图片按钮的封装

    需求:很多时候界面上的按钮都需要被贴上图片,一般来说: ...这里我将这个过程封装为新的控件类:ImageButton ImageButton中有四个属性(支持绑定),分别对应上面A、B、C、D四个背景图的路径。

    SDK XP样式按钮

    标题中的"SDK XP样式按钮"指的是使用Windows SDK(Software Development Kit)开发的一种具有Windows XP视觉样式(Visual Style)的按钮控件。在Windows XP及之后的系统中,微软引入了视觉样式来提升用户界面的美观...

    android自定义按钮控件样式

    首先,自定义按钮样式通常涉及到以下几个方面: 1. **XML布局资源**:在Android应用中,我们可以通过XML布局文件来定义按钮的基本样式。这包括设置按钮的大小、颜色、文字、边框等属性。例如,我们可以使用`&lt;shape&gt;...

    Android 封装不同样式的对话框

    本文将详细讲解如何封装不同样式的对话框,并以仿iOS风格的对话框为例,来提高应用程序的用户体验。 首先,我们了解Android原生的Dialog类。它是一个轻量级窗口,通常用于在当前活动(Activity)之上显示信息,不...

    封装的Button按钮

    "封装的Button按钮"是指一个经过特殊设计和定制的Button控件,它可能具有独特的外观和功能,以满足特定的界面设计或交互需求。在本例中,我们讨论的是一个C#编写的、名为“蓝色水晶按钮控件”的自定义控件。这个控件...

    C#winform按钮风格封装

    然而,这些属性可能无法满足所有设计要求,比如实现更复杂的图形效果或模拟其他平台的按钮样式。 在描述中提到的支持各种C# button风格替换,意味着开发者可能已经创建了自定义控件或者扩展了现有的Button类,引入...

    js控制按钮样式

    在JavaScript(JS)中,控制按钮样式是一种常见的需求,特别是在构建交互式的网页应用时。本文将深入探讨如何利用JavaScript来改变HTML按钮的外观,包括颜色、大小、边框、字体等样式属性。首先,我们需要了解HTML...

    css漂亮的多图片按钮样式

    本教程将深入探讨如何利用CSS创建美观且功能丰富的多图片按钮样式,为用户界面增添吸引力和互动性。 首先,我们需要了解CSS的基本结构,它由选择器、属性和值三部分组成。例如,我们可以为一个`&lt;button&gt;`元素设置...

    纯CSS3超酷彩色3D按钮样式

    在本案例中,我们关注的是一个利用CSS3技术实现的"纯CSS3超酷彩色3D按钮样式"。这种样式能够帮助开发者快速地为网页增添时尚、多彩且具有立体感的按钮,提升用户体验。 首先,CSS3中的线性渐变(Linear Gradient)...

    该demo封装了不同样式的对话框 使用起来非常方便

    本示例("该demo封装了不同样式的对话框 使用起来非常方便")着重于如何通过封装不同的对话框样式,提供一个易用且功能丰富的组件库,以简化开发流程。 首先,`AlertDialog`是Android SDK中最基础的对话框类型,它...

    C++实现皮肤按钮封装

    这需要在事件处理器中更新按钮的显示状态,并重新绘制按钮。 5. **继承与多态**:为了保持代码的可扩展性和复用性,通常会从基础的按钮类(如Windows API的CButton或Qt的QPushButton)派生出皮肤按钮类,这样可以...

    WPF 封装的常用样式Style

    WPF常用用户控件样式,包括按钮、文本框、下拉框、GridData、树、滚动条等等都进行了精心的设计,拿来即用!里面包含有样式里所需的图标文件哦!

    排序按钮封装、升序、降序

    对于“排序按钮”,封装可能包括创建一个自定义的UI组件,这个组件不仅包含按钮的基本样式和事件处理,还包含了排序功能的逻辑。这样,当用户点击按钮时,组件内部会自动执行升序或降序排序的操作。 接下来,我们来...

    50个漂亮的css按钮

    将按钮样式封装成CSS类,可以方便地应用于多个按钮,提高代码复用率。同时,考虑使用预处理器(如Sass或Less)进行更高级的样式组织和变量管理。 9. **按钮布局** 按钮的布局也是设计的一部分,可以是水平排列、...

    c#自定义开关按钮,很实用

    自定义按钮通常涉及到对系统默认控件的扩展或完全重新设计,以满足特定的视觉效果或功能需求。在C#中,我们可以利用.NET Framework提供的WinForms或WPF框架来创建这样的控件。对于Windows Forms,我们可以继承自`...

    iOS中动态密码(倒计时按钮)按钮Block封装,选取器(UIPickerView)的Block封装,日期选取器(UIDatePicker)的Block封装

    封装后的UIDatePicker不仅可以让开发者轻松设置样式和范围,还能确保选择事件的处理更加简洁。 在`Demo`这个项目中,你应该能够找到这些封装好的控件的实现代码,包括它们的接口设计、Block的使用方式以及如何在...

    使用uniapp中picker-view封装底部选择弹框选择器,解决微信小程序中不可自定义样式问题

    使用uniapp制作微信小程序时候,需要一个城市选择框,但是微信中的弹框样式不可自定义,出现了与项目主题样式不一致问题,于是使用uniapp中picker-view封装底部选择弹框选择器,实现支持自定义确定和取消按钮颜色...

    自定义弹窗,dialog封装,样式优化

    例如,可以包含标题、内容、按钮等元素。 2. 创建自定义View类:继承自`LinearLayout`或其他适合的父视图,然后在该类中初始化并设置布局文件中的各个组件。这样可以方便地控制组件的行为和样式。 3. 在Activity或...

Global site tag (gtag.js) - Google Analytics