Javascript显示更多按钮

时间:2013-07-02 02:24:54

标签: javascript jquery

我正在尝试制作脚本,当有人按下Show More以获取按钮的ID时,如果id以“Show_More_ID_”开头以获取id的数量,之后将Box类别设为“Box_Show_ID_”显示更多或更少

示例ID /类:

<div class="Box_Show_ID_1"></div>
<input type="button" id="Show_More_ID_1" value="Show More" />

这是我现在制作的代码,但是不起作用......

http://jsfiddle.net/UPdmH/

5 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/UPdmH/2/

基本上你是从错误的索引中获取id

var Box_Data_ID = ID_Split[3];

答案 1 :(得分:1)

小提琴:http://jsfiddle.net/UPdmH/3/

$(document).ready(function(){
 var Box_Data_MSG_1      = "Show More";
 var Box_Data_MSG_2      = "Show Less";
 var Box_Data_Height     = "117px";

 $("input[id*='Show_More_ID_']").click(function() {
  var Box_ID             = $(this).attr("id");
  var ID_Split           = Box_ID.split('_');
  var Box_Data_ID        = ID_Split[ID_Split.length-1];
  var Box                = ID_Split[2];

  var Button_Value       = $('#Show_More_ID_' + Box_Data_ID).attr("value");

  if(Button_Value == Box_Data_MSG_1) {
   $('#Show_More_ID_' + Box_Data_ID).attr('value', Box_Data_MSG_2);
  }

 });
});

答案 2 :(得分:0)

JSFiddle并没有真正用show more按钮指示你想要什么,如果它是一个链接,或者它是否应该显示另一个div

如果您将ID更改为ShowMoreID_1,则会更容易:

$('button').click(function(e) {
  e.preventDefault();
  var val = $(this).attr('id');
  var str = val.split('_');
  if(str[0] == 'ShowMoreID') {
     var id = str[1];
    // do stuff
  } else {
    // dont do stuff
  }
});

更新以包含jQuery库。我把它调整到我认为你想做的事情:

http://jsfiddle.net/ZQ3pD/2/

答案 3 :(得分:0)

这个显示更多/更少的演示怎么样? DEMO http://jsfiddle.net/yeyene/uEXvk/1/

var orgContent = $('.excerpt').html();
var txtContent = $('.excerpt').text().substr(0, 50) + '... <a id="morelink">more</a>';
$('.excerpt').html(txtContent);
$("body").on("click", '#morelink', function(){
    $('.excerpt').html(orgContent);
    $('<a id="lesslink"> less</a>').appendTo('.excerpt');
});
$("body").on("click", '#lesslink', function(){
    $('.excerpt').html(txtContent);
});

答案 4 :(得分:0)

似乎比实际需要更复杂。看这个。我更改了一些HTML,添加了一个jQuery库(你将它标记为JavaScript但正在编写jQuery),并添加了一个click()函数:

http://jsfiddle.net/qTNzc/

$('.btn').click(function(){
    this_id = $(this).attr('id'); 
    $('.Box_Show_ID_'+this_id).toggle();
 });