Mootools 1.2教程(7)——设置和获取样式表属性(2)

作者:Fdream 来源:Fdream博客 时间:2008-11-25 13:48:00 

代码示例

在这个例子中,我们将使用我们刚才在上面学到的一些方法来获取和设置样式。在注意样式属性操作用法的同时,也要特别注意它本身的结构。为了把我们的函数从domready中独立出来,我们需要把那些变量传递到domready事件的函数中。我们通过给domready里面的函数传递一个参数来实现这个。注意点击(click)事件使用了匿名方法——这可以让我们从domready事件中把变量传递到外面的函数中。如果你第一遍没有看懂,请不要着急,下面的例子可能会让这些更清楚更明白一些:

参考代码:

 


// 这里是一些函数

// 注意这个函数有一个参数:"bgColor"
// 这个是从domready事件中传递过来的
var seeBgColor = function(bgColor) { 
    alert(bgColor);
}

var seeBorderColor = function(borderColor) {
    alert(borderColor);
}

// 我们把playDiv传递给这个函数,从而可以操作这个元素
// 也可以让我们避免重复地使用选择器
// 在处理复杂的选择器时很有用
var seeDivWidth = function(playDiv) {
    // 我们再次开始获得样式属性
    // 和我们在domready中用的getStyles独立开来
    // 因为我们想使用当前的值
    // 这可以保持width是准确的
    // 即使它在domready事件之后被改变了
    var currentDivWidth = playDiv.getStyle('width');
    alert(currentDivWidth);
}

var seeDivHeight = function(playDiv) {
    var currentDivHeight = playDiv.getStyle('height');
    alert(currentDivHeight);
}

var setDivWidth = function(playDiv) {
    playDiv.setStyle('width', '50px'); 
}

var setDivHeight = function(playDiv) {
    playDiv.setStyle('height', '50px');
}

// 注意,在这个时候,这个变量可以取任何名称
// 它会传递任何值,value或者element或者你的任何东西
// 它将会取代任何在domready里面传过来的东西
var resetSIze = function(foo) {
    foo.setStyles({
        'height': 200,
        'width': 200
    });
}

window.addEvent('domready', function() {
    // 因为我们要多次使用这个选择器,所以我们把它赋值给一个变量
    var playDiv = $('playstyles');

    // 这里我们创建了一个包含几个属性的对象
    var bodyStyles = playDiv.getStyles('background-color', 'border-bottom-color'); 

    // 你可以通过调用属性名来获得样式值然后传递给一个变量

    var bgColor = bodyStyles['background-color']; 

    // 这里我们使用了一个匿名函数,从而我们可以把参数传递给domready外面的函数 
    $('bgcolor').addEvent('click', function(){
        seeBgColor(bgColor);
    });

    $('border_color').addEvent('click', function(){
        // 除了可以把一个样式属性传递给一个变量 
        // 你还可以在这里直接调用
        seeBorderColor(bodyStyles['border-bottom-color']);
    });

    $('div_width').addEvent('click', function(){
        seeDivWidth(playDiv);
    });

    $('div_height').addEvent('click', function(){
        seeDivHeight(playDiv);
    });

    $('set_width').addEvent('click', function(){
        setDivWidth(playDiv);
    });

    $('set_height').addEvent('click', function(){
        setDivHeight(playDiv);
    }); 

    $('reset').addEvent('click', function(){
        resetSIze(playDiv);
    });
});

这里是HTML代码:

参考代码: 

<div id="playstyles"> </div>
    <br />
    <button id="bgcolor">See background-color</button>
    <button id="border_color">See border-bottom-color</button><br /><br />
    <button id="div_width">See width</button>
    <button id="div_height">See height</button><br /><br />
    <button id="set_width">Set weight to 50px</button>
    <button id="set_height">Set height to 50px</button><br /><br />
    <button id="reset">Reset size</button>

这里是CSS代码

参考代码: 

#playstyles {
    width: 200px
    height: 200px
    background-color: #eeeeee
    border: 3px solid #dd97a1
}

 

更多学习...

远程下载:下载一个包含你开始所需要的所用东西的zip包(27.88 KB)

asp之家下载地址:mootorial_day7_styles.zip (27.88 KB)

包含MooTools 1.2核心库,一个外部JavaScript文件,一个简单的HTML页面和一个CSS文件。

更多关于样式表的内容

要学习更多关于样式表的内容,请查阅MooTools文档中的Element.Style部分。

标签:mootools,教程,样式表,库
0
投稿

猜你喜欢

  • 利用aspjpeg组件自动生成产品缩略图asp源代码

    2007-08-10 10:14:00
  • fso文件按照文件名字母排序

    2008-03-09 15:25:00
  • SQL Server 2005 FOR XML嵌套查询使用详解

    2009-01-06 11:20:00
  • 设计较好付款流程的12个建议

    2009-06-08 12:45:00
  • 如何解决国外空间显示乱码问题

    2007-11-18 14:28:00
  • 亚马逊购物用户体验分析 (一)

    2009-10-25 12:40:00
  • 使用SQL Server2005扩展函数进行性能优化

    2010-06-07 11:26:00
  • asp如何定时执行约定的页面?

    2009-11-15 20:17:00
  • 从MySQL 5.5发布看开源数据库新模式

    2010-01-03 19:54:00
  • 大牌 Banner 设计欣赏(468x60)

    2008-01-20 13:02:00
  • 谈谈图片如何影响转换率

    2011-08-10 19:14:08
  • 用户不需要信息快餐

    2009-02-25 12:34:00
  • [hta]一个定时重启或关闭计算机的小工具

    2007-10-17 12:02:00
  • Oracle中查询本月星期5的所有日期列表的语句

    2012-07-11 16:13:21
  • 页面表达常用方式

    2010-05-27 12:42:00
  • 一个简单的ASP生成HTML分页程序

    2009-07-05 18:32:00
  • jQuery性能优化指南[译]

    2009-05-12 11:54:00
  • 回答XML与HTML的区别

    2007-12-03 10:58:00
  • Window.ShowModalDialog使用手册

    2008-02-24 14:42:00
  • 如何解决SQLServer占内存过多的问题

    2008-12-18 15:01:00
  • asp之家 网络编程 m.aspxhome.com