JQuery 简单的文字超出部分隐藏下拉显示

HTML代码:

<body>
    <div class="txt_bos"><!--在每一个放置文字的class外面包一个div,以便设置动画样式用,同样用class-->
        <div class="txt1"><!--为了保证功能的通用性,这里全用class-->
            石村,位于苍莽山脉中,四周高峰大壑,茫茫群山巍峨。

    清晨,朝霞灿灿,仿若碎金一般洒落,沐浴在人身上暖洋洋。

    一群孩子,从四五岁到十几岁不等,能有数十人,在村前的空地上迎着朝霞,正在哼哈有声的锻炼体魄。一张张稚嫩的小脸满是认真之色,大一些的孩子虎虎生风,小一些的也比划的有模有样。

    一个肌体强健如虎豹的中年男子,穿着兽皮衣,皮肤呈古铜色,黑发披散,炯炯有神的眼眸扫过每一个孩子,正在认真指点他们。
        </div>
    </div>
    <div class="txt_bos">
        <div class="txt1">
            “太阳初升,万物初始,生之气最盛,虽不能如传说中那般餐霞食气,但这样迎霞锻体自也有莫大好处,可充盈人体生机。一天之计在于晨,每曰早起多用功,强筋壮骨,活血炼筋,将来才能在这苍莽山脉中有活命的本钱。”站在前方、指点一群孩子的中年男子一脸严肃,认真告诫,而后又喝道:“你们明白吗?”

    “明白!”一群孩子中气十足,大声回应。

    山中多史前生物出没,时有遮蔽天空之巨翼横过,在地上投下大片的阴影,亦有荒兽立于峰上,吞月而啸,更少不了各种毒虫伏行,异常可怖。

    “明白呀。”一个明显走神、慢了半拍的小家伙奶声奶气的叫道。
        </div>
    </div>
    <div class="txt_bos">
        <div class="txt1">
            这是一个很小的孩子,只有一两岁的样子,刚学会走路没几个月,也在跟着锻炼体魄。显然,他是自己凑过来的,混在了年长的孩子中,分明还不应该出现在这个队伍里。

    “哼哼哈嘿!”小家伙口中发声,嫩嫩的小手臂卖力的挥动着,效仿大孩子们的动作,可是他太过幼小,动作歪歪扭扭,且步履蹒跚,摇摇摆摆,再加上嘴角间残留的白色奶渍,引人发笑。

    一群大孩子看着他,皆挤眉弄眼,让原本严肃的晨练气氛轻缓了不少。

    小不点长的很白嫩与漂亮,大眼睛乌溜溜的转动,整个人像是个白瓷娃娃,很可爱,稚嫩的动作,口中咿咿呀呀,憨态可掬。这让另一片场地中盘坐在一块块巨石上正在吞吐天精的一些老人也都露出笑容。

    就是那些身材高大魁梧、上半身**、肌腱光亮并隆起的成年男子们,也都望了过来,带着笑意。他们是村中最强壮的人,是狩猎与守护这个村落的最重要力量,也都在锻体,有人握着不知名的巨兽骨骼打磨而成的白骨大棒,也有人持着黑色金属铸成的阔剑,用力舞动,风声如雷。
        </div>
    </div>
</body>

CSS样式表:

<style type="text/css">
        * {
            -moz-user-select: -moz-none;
            -moz-user-select: none;
            -o-user-select: none;
            -khtml-user-select: none;
            -webkit-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        .txt_bos {
            position: relative;
            width: 500px;
            height: 25px;
            margin-top: 50px;
            left: 400px;
            background-color: yellow;
            overflow: hidden;
        }

        .txt1 {
            position: relative;
            width: 100%;
            height: 25px;
            font-family: 微软雅黑;
            font-size: 20px;
            word-wrap: break-word;
            overflow: hidden;
        }
    </style>

JQuery 代码:

<script src="js/jquery-1.7.1.min.js"></script>
    <script src="js/jquery.color.js"></script>
<script type="text/javascript">
        $(document).ready(function () {
            var MaxLength = 36;//先设置一个变量用做第一行最多显示的长度
            var txt = new Array();//定义一个数组

            var texts = $(".txt1");//获取一下每一个放置文字的div,一组div
            for (var i = 0; i < texts.length; i++) {//写一个循环,循环次数为所有放置文字div的数量
                if (texts.eq(i).text().length > MaxLength) {
                    texts.eq(i).parent().index(i);//给每个索引上的div的父级赋一个index属性,也就是这个段文字在数组内的索引
                    txt[i] = texts.eq(i).text();//将获取的一组文字div按照索引一次将文字放进数组
                    var st = texts.eq(i).text().substr(0, MaxLength) + ‘...‘;//一上来默认第一行显示长度为上面定义的变量长度,后面加...放进变量
                    texts.eq(i).text(st);//再将变量给每组文字的显示
                }
            }

            //每组文字div的点击事件
            $(".txt1").click(function () {

                if ($(this).outerHeight() > 27) {//如果这个div的高度超过了每行的高度,则执行超出部分隐藏
                    $(this).text($(this).text().substr(0, MaxLength) + ‘...‘);//将显示文字重新定义为初始状态
                    //给外面包着的div,也就是父级div写一个动画,高度为目前重新定以后文字高度,400毫秒慢慢缩回,用到animate
                    $(this).parent().animate({ height: $(this).outerHeight(), backgroundColor: ‘yellow‘ }, 400);
                }
                else {//如果没有超过每行高度,也就是为初始状态的时候,点击需要慢慢下拉打开
                    $(this).text(txt[$(this).parent().index()]);//通过父级的index值找到数组内对应索引的文字,将其显示
                    $(this).css(‘height‘, ‘auto‘);//设置这个div的css样式,高度为文字显示高度
                    //因为父级div样式表中设置超出部分隐藏,用animate将高度慢慢下拉至子及div,也就是文字div目前的高度,400毫秒执行完毕
                    $(this).parent().animate({ height: $(this).outerHeight(), backgroundColor: ‘white‘ }, 400);

                }
            });
        });
    </script>

时间: 2024-10-18 13:27:23

JQuery 简单的文字超出部分隐藏下拉显示的相关文章

java简单的实现搜索框的下拉显示相关搜索功能

最近做了一个简单的搜索框下面下拉显示相关搜索的功能,有点模仿百度的下拉展示相关搜索 先上个展示图 : 点击进入演示地址,大家可以输入长点的搜索,点击搜索,再输入之前搜索词的前面部分,看是否能展示出来 搜索框相关搜索的展示很简单,就是根据你的搜索词,去数据库中匹配,是否有类似的搜索词存在,按照搜索词被搜索的次数进行排序显示出来 我设计的是每次搜索一个词,提交之后都会去数据库进行查询,看是否存在这个搜索词的搜索,若存在,则对数据库中的这个搜索词对象进行次数加1,不存在,则创建这个新搜索词对象,保存在

DataGridView单元格内容自动匹配下拉显示

页面显示数据使用的控件是ComponentFactory.Krypton.Toolkit中的KryptonDataGridView控件.在指定“商品”单元格中需要根据用户输入内容自动匹配数据库中商品信息,并且单元格处于编辑模式时显示一个查询图标的按钮,点击该按钮也将显示数据库中所有商品信息. KryptonDataGridView显示控件此处命名为kDGVIndentDetail; 用于下拉显示匹配内容的DataGridView命名为dgv; 1.建立一个DataGridView类型的页面变量用

jQuery制作简洁的多级联动Select下拉框

今天我们要来分享一款很实用的jQuery插件,它是一个基于jQuery多级联动的省市地区Select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多.另外,这个Select下拉框也可以绑定下拉事件,并获取当前选中项的值. html代码: <div class="wrap">        <div class="nice-select" name="nice-select">   

UIScrollView UITableView 上拉隐藏导航栏和tabbar 下拉显示导航栏和tabbar

//UIScrollView  UITableView 上拉隐藏导航栏和tabbar 下拉显示导航栏和tabbar-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ CGPoint translation = [scrollView.panGestureRecognizer translationInView:scrollView.superview];    if

input输入框下拉显示tree树

这次做项目还用到了另一个tree树的插件,就是input输入框下拉tree树 我这只是简单的下拉显示tree树,没有tree树的添加.编辑.删除.移动等操作 先看图片 zTree官方API文档 http://www.treejs.cn/v3/api.php 上代码 引入的js <script src="js/jquery-1.4.4.min.js" type="text/javascript"></script> <link href=

JQuery和ASP.NET分别实现级联下拉框效果

在学习JQuery之前知道下拉框的级联效果可以通过asp.net控件实现,现在学习了JQuery,知道了JQuery和select也能实现.我分别举两个小例子说明这两种方法如何实现. 1.用JQuery和select来实现汽车厂商和汽车类型的联动 效果图:       逻辑分析图: html代码: [html] view plain copy <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

Excel设置下拉菜单并隐藏下拉菜单来源单元格内容

一.问题来源 做实验室的进展统计表,老师让加上开始时间和完成时间,时间格式:周几_上午(下午.晚上). 这样就可以了做下拉菜单,方便填写,而且格式统一,方便查看. 二.解决办法 2.1 下来菜单 红框是数据的来源区域,要设置成一行或者一列. 2.2 隐藏数据来源

JQuery 常用积累(三)Select 下拉框

<select id="hello"></select> 1.jQuery获取Select选择的Text和Value: 语法解释: $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 var checkIndex=$("#select_id ").get(0).selectedIndex; //获取Select选择的索引值 var

jquery 根据后台返回值来选中下拉框 option 值

前景:下拉列表和要选中的下拉项都是通过后台传过来的本人用字符串拼接很low的方法实现: 一  给下拉框加一个默认的option 放在第一个类似于"无"或者"请选择": 二  把后台返回值放到 option 的一个自定义属性中 : 三  要选的东西在第一个option中取出判断即可: 四 用jquery each遍历 function SelectTrue(){ var a =[]; var i = 0 $(".wuoption").each(fu