-2

我试图在有人按下 Show More 以获取按钮的 id 时制作脚本,如果 id 以“Show_More_ID_”开头以获取 id 的数量,然后使类为“Box_Show_ID_”的 Box 显示更多或较少的

示例 ID/类:

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

这是我现在制作的代码,但无法正常工作......

http://jsfiddle.net/UPdmH/

4

5 回答 5

1

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

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

var Box_Data_ID = ID_Split[3];

于 2013-07-02T02:36:51.730 回答
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);
  }

 });
});
于 2013-07-02T02:44:39.850 回答
0

这个 Show more/less 演示怎么样?演示http://jsfiddle.net/yyene/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);
});
于 2013-07-02T02:36:07.240 回答
0

JSFiddle 并没有真正通过显示更多按钮指示您想要什么,如果它是一个链接,或者它是否应该显示另一个 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/

于 2013-07-02T02:29:28.163 回答
0

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

http://jsfiddle.net/qTNzc/

$('.btn').click(function(){
    this_id = $(this).attr('id'); 
    $('.Box_Show_ID_'+this_id).toggle();
 });
于 2013-07-02T02:41:13.833 回答