简体   繁体   中英

How to apply jquery ellipsis to div

$('.more2').each(function() {       
    var showChar = 150;
    var content = $(this).html();
        if(content.length > showChar) {
            var c = content.substr(0, showChar);
            var h = content.substr(showChar, content.length - showChar);
            var html = c + '<span class="moreellipses">' + ellipsestext+ ' </span><span class="morecontent"><span>' + h + '</span>  <a href="" class="morelink">' + moretext + '</a></span>';
            $(this).html(html);
    }
});

I am trying to build some jquery Accordion effect for my div drop down; please see the example JSFIDDLE . here what I want actually it's on-clicking of ('+') button I want to show reaming part of content. At that time else div in the same row should take the same height which is the active div taken but we don't want show the content in inactive div.

Try adding to your document ready:

$('a.morelink').click(function(){
    $(this).parent().find('span').toggle();
    $(this).parent().parent().find('span.moreellipses').toggle();
    $(this).parent().find('a').text($(this).text() == '[+]' ? "[-]" : "[+]");
    return false;
});

and replace:

$(".row1").height(maxHeight);

with

$(".row1").css({'min-height':maxHeight,'height':'auto'});

So your code could be:

  $(document).ready(function() { var maxHeight = 0; $(".row1").each(function() { if ($(this).height() > maxHeight) { maxHeight = $(this).height(); } }); $(".row1").css({ 'min-height': maxHeight, 'height': 'auto' }); }); $(document).ready(function() { var ellipsestext = "..."; var moretext = "[+]"; var lesstext = "[-]"; $('.more1').each(function() { var showChar = 172; var content = $(this).html(); if (content.length > showChar) { var c = content.substr(0, showChar); var h = content.substr(showChar, content.length - showChar); var html = c + '<span class="moreellipses">' + ellipsestext + ' </span><span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">' + moretext + '</a></span>'; $(this).html(html); } }); $('.more2').each(function() { var showChar = 150; var content = $(this).html(); if (content.length > showChar) { var c = content.substr(0, showChar); var h = content.substr(showChar, content.length - showChar); var html = c + '<span class="moreellipses">' + ellipsestext + ' </span><span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">' + moretext + '</a></span>'; $(this).html(html); } }); $('a.morelink').click(function() { $(this).parent().find('span').toggle(); $(this).parent().parent().find('span.moreellipses').toggle(); $(this).parent().find('a').text($(this).text() == '[+]' ? "[-]" : "[+]"); return false; }); }); 
 spk_desc { font-size: 11px; line-height: 15px; padding: 15px; position: relative; top: 0; } .speaker_content_text_alt { background: #eeeeee none repeat scroll 0 0; padding: 5px; position: relative; width: 200px; } .speaker_content_text { background: #dddddd none repeat scroll 0 0; padding: 5px; position: relative; width: 200px; } .fl { float: left; } a { color: #0254EB } a:visited { color: #0254EB } a.morelink { text-decoration: none; outline: none; } .morecontent span { display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="speaker_content" class="visible-desktop"> <div id="row1"> <div class="speaker_content_text_alt fl"> <a name=""></a> <div class="speaker_name"> <p style=" font-size:25px; padding top: 10px; ">ironMAn <br/> </p> </div> <div class="spk_desc row1"> <p style="line-height:19px;" class="comment more1">I´ve create a template for meteor.js, what I want is to apply a jQuery effect for an onclick event on tran_button, the idea with the effect is that div associated to button disappear. I don´t get any error through meteor console, or firebug console. He has written apps for the iPhone and the iPad since the SDKs first appeared and has written programs for the Mac all the way back to System 7. <br>Daniel presents iPhone, Cocoa, and Swift training and consults through his company He is the host of the and are available on the Editors Cut website.</p> </div> </div> <div class="speaker_content_text fl"> <a name=""></a> <div class="speaker_name"> <p style="font-size:25px;padding-top:10px; "> Supeeer man <br/> </p> </div> <div class="spk_desc row1"> <p style="line-height:19px;" class="comment more2"> I understand this is a privilege that is earned by gaining 2,000 reputation on the site. As far as I can see, that is the only requirement - there doesn't seem to be any restrictions on where you get that rep from. For instance, I got mine mostly through answers and a few questions - I think I may have made one suggested edit before gaining this privilege which allows me to edit anything, without peer review.. <br>Please note - I'm not trying to suggest that there are roving bands of 2K users rampantly defiling posts left and right; rather this is more focussed on introducing a learning curve for edits, rather than allowing users who may have no idea how to edit a post edit anything. </p> </div> </div> </div> </div> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM