`
李小抽SuperITGirl
  • 浏览: 46898 次
  • 性别: Icon_minigender_2
  • 来自: 沈阳
社区版块
存档分类
最新评论

YUI学习笔记(三)Reszie模块1

    博客分类:
  • YUI
 
阅读更多

参考资料:http://yuilibrary.com/yui/docs/resize/simple-resize.html

需求说明:用鼠标控制div的大小,并且根据大小相应的截断div中段落的文字。如图,用鼠标控制外部div的尺寸,在尺寸改变的同时,使左侧文字适应div的大小而进行文字截断,右边的事件不截断。

代码:

<html>
  <head>
    <base href="<%=basePath%>">
    <title>文字截取</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
  </head>
  <body>
    <div class="journal-content-article">
      <ul class="list_ul">
        <li>
          <span><a>我校专业技术岗位等级聘任工作已结束</a></span>
          <em>2012-07-21</em>
        </li>
        <li>
          <span><a>踏寻历史踪迹   在实践中成长</a></span>
          <em >2012-07-13</em>
        </li>
        <li>
          <span><a>教师系列专业技术职务聘任结果</a></span>
          <em2012-07-02</em>
        </li>
        <li>
          <span ><a>我校小学部举行数学学科期末复习引路活动</a></span>
          <em>2012-06-26</em>
        </li>
        <li>
          <span ><a>我校举行&quot;青蓝杯&quot;教学大赛优胜...</a></span>
          <em>2012-06-26</em>
        </li>
        <li>
          <span><a>我校举行2012届毕业典礼</a></span>
          <em>2012-06-26</em>
        </li>
        <li>
          <span><a>教师系列专业技术职务聘任结果公告</a></span>
          <em>2012-06-22</em>
        </li>
      </ul>
    </div>
    <script src="http://yui.yahooapis.com/3.9.0/build/yui/yui-min.js"></script>
    <script type="text/javascript">
    //YUI要用到的模块有node和resize-plugin
    YUI().use('node','resize-plugin',function(Y){
      var tag_arr = Y.all("a");//所有<a>标签做成的数组
       var tag_strArr = new Y.Array(String);//所有<a>标签内容做成的数组
       var tag_showStr = null;//每行文字显示的文字
       var tag_lenArr = new Y.Array(String);//每行文字的长度
       var tag_fontsize = 0;//文字像素
       //YUI中的数组遍历操作用  数组名.each(function(item,index)){}
      //其中item表示当前数组中的对象,index表示当前数组中对象的下标	
       tag_arr.each(function(item,index){
              tag_strArr[index] = item.getHTML();
              tag_lenArr[index] = item.getHTML().length;
         });
    	
    	/**获取文字像素*/
    	var div = Y.one(".journal-content-article");
    	var date = Y.one("em");
        //YUI中获取CSS样式的方法是  元素.getStyle(属性名)
    	tag_fontsize = div.getStyle("fontSize");
    	/**pt与px的转换*/
    	var fsLen = tag_fontsize.length;
	    var fstail = tag_fontsize.toString().substring(fsLen-2, fsLen);
	    var maxLength = null;
	    switch(fstail)
	    {
	    	case "pt":
	    		tag_fontsize = parseInt(tag_fontsize)*4/3;
	    		break;
	    	case "em":
	    		tag_fontsize = parseInt(tag_fontsize)*16;
	    		break;
	    	case "px":
	    		tag_fontsize = parseInt(tag_fontsize);
	    		break;
	    }
        //我们已经引入了YUI的Resize模块,现在需要实例化一个接口
    	var resizeDiv = new Y.Resize({
    		node: ".journal-content-article"
    	});
    	/**监听div尺寸改变事件*/
        //resize的事件有很多比如:start、mouseUp、end、resize等
    	resizeDiv.on("resize",function(){
    		/**获取div的宽度*/
    		var divWidth = parseInt(div.getStyle("width"));
		var data_len = date.getHTML().length;
	    	var data_width = tag_fontsize*(data_len);
	    	maxLength = parseInt((divWidth-data_width)/tag_fontsize);//div最多能显示的字符长度
	    	tag_arr.each(function(item,index){
	    		if(tag_lenArr[index]>=maxLength)
	    		{
	    			tag_showStr = tag_strArr[index].substr(0,maxLength);
	    			item.setHTML(tag_showStr);
	    		}
	    	});
	    });
	});
	</script>
 </body>
 </html>

 

 

  • 大小: 10.3 KB
0
5
分享到:
评论

相关推荐

    Yui_ext 学习笔记

    【Yui_ext 学习笔记】 Yui_ext 是基于 Yahoo! UI Library (YUI) 的扩展,主要用于构建富客户端的 Web 应用程序。这篇学习笔记主要介绍了 Yui_ext 的基础知识,适合对 JavaScript 和 HTML DOM 有一定了解的初学者。 ...

    yui3-master.zip

    YUI3是YUI库的第三个主要版本,着重于模块化、轻量化以及性能优化。本文将围绕“yui3-master.zip”这个压缩包,深入探讨YUI3的核心概念、结构和实际应用。 1. **模块化设计** YUI3采用了模块化的设计理念,每个...

    《YUI使用文档》汉语版的yui学习材料

    《YUI使用文档》汉语版是一份详细的YUI学习材料,它涵盖了这个JavaScript库的核心功能和使用方法。YUI,全称Yahoo! User Interface Library,是Yahoo开发的一个开放源代码的JavaScript库,旨在帮助开发者创建交互式...

    yui.rar 例子

    在这个例子中,左中右三个模块的划分,正是通过YUI的Container组件和Grids CSS实现的,它们使得页面结构清晰,代码可读性强。 接下来,我们要讨论的是YUI的模块化设计。YUI遵循了“按需加载”的原则,这意味着...

    yui 资源包

    1. **模块化**:YUI采用AMD(Asynchronous Module Definition)模块加载机制,允许异步加载和依赖管理,使得代码组织清晰,便于维护。 2. **响应式设计**:YUI提供了响应式设计工具,如Grids布局系统,能根据屏幕...

    YUI3沙盒下的多模块交互实践

    YUI3沙盒下的多模块交互实践是指利用YUI3框架所提供的沙盒模式实现多个模块之间的交互。YUI3是Yahoo公司开发的一款前端JavaScript框架,旨在帮助开发者创建高度可扩展和模块化的网络应用程序。在YUI3中,沙盒...

    YUI3.7.3 最新版本 带API

    1. **模块系统**:YUI3引入了CommonJS风格的模块系统,允许开发者通过`YUI.use()`方法加载所需模块,实现按需加载,减少页面初始化时的加载量。 2. **事件处理**:YUI3提供了强大的事件系统,支持DOM事件、自定义...

    关于yui的学习

    学习YUI,不仅能够提升你的前端开发技能,还能让你了解模块化和组件化开发的思想,这对于现代Web开发来说是非常重要的。结合YUI.ppt的资料,你可以更系统地学习这个框架,逐步掌握其精髓,并将其应用到实际项目中。

    yui_3.8.1.zip

    1. **模块系统**:YUI 3.8.1采用CommonJS规范,通过YUI.use()方法按需加载模块,降低初始页面加载时间。此外,还支持AMD(异步模块定义)模式,适应不同的开发需求。 2. **事件处理**:YUI提供了一套完整的事件系统...

    YAHOO yui2.7 文档+ 代码+例子

    YUI的设计非常注重模块化和可扩展性,开发者可以通过编写新的模块来扩展其功能。YUI的模块化结构使得代码组织清晰,易于维护。 **3. 文档和示例** YUI 2.7提供的文档详尽介绍了每个组件的用法,包括API参考、教程和...

    Jquery、YUI、ExtJs 三大javascript框架表单验证带提示功能的demo

    在表单验证方面,YUI提供了`YUI.FormValidator`模块,可以创建自定义验证规则,支持实时验证和提交时验证。通过`FormValidator.create()`方法创建验证器实例,然后指定验证规则,如`{required: true}`表示字段必须...

    YUI.rar_html_javascript YUI_yui_yui javascript

    1. **模块化设计**:YUI采用模块化的结构,允许开发者按需加载所需的组件,减少页面加载时间,提高性能。 2. **跨浏览器兼容性**:YUI经过精心设计,确保在主流浏览器上都能正常运行,包括IE、Firefox、Chrome、...

    YUI2.8.1包括demo api是学习的好东西

    1. **模块化设计**:YUI采用了模块化的架构,允许开发者根据需要只加载必要的组件,降低了页面加载时间,提高了性能。这包括事件处理、DOM操作、动画效果、Ajax交互等多个独立模块。 2. **DOM操作**:YUI提供了强大...

    yui 3.1.2 源码 6MB大小 0资源分

    源码分析对于开发者来说,不仅能帮助理解YUI的工作原理,还可以学习到优秀的编程实践,比如模块化设计、事件驱动编程、性能优化等方面的知识。通过研究YUI 3.1.2的非压缩源码,我们可以深入理解这个强大库的内部构造...

    YUI3.6文档及示例

    1. **模块系统**:YUI3引入了模块化设计,允许开发者按需加载组件,降低页面的初始化时间。模块可以通过`YUI.use()`方法来加载,实现了代码的异步加载和依赖管理。 2. **事件系统**:YUI的事件处理机制强大且灵活,...

    Yahoo YUI 插件库

    1. **数据管理**:YUI提供了一些用于处理和展示数据的插件,例如DataGrid,它可以将数据以表格形式呈现,支持排序、过滤和分页等功能。还有DataSource组件,可以方便地从服务器获取和管理数据。 2. **图表和可视化*...

    针对YUI框架API

    1. **模块化设计** YUI的核心理念之一就是模块化。每个功能或组件都被封装为独立的模块,如Event(事件)、Animation(动画)、Node(DOM操作)等。开发者可以根据项目需求选择需要的模块,降低代码体积,提高性能...

Global site tag (gtag.js) - Google Analytics