-3

我有一些图像。图像在另一个之上,根据情况我必须显示一个或另一个,但我的过程不起作用。这是代码

    AddHTMLToCurrentSlide('<div id="slide14_gc"></div>');
AddHTMLToCurrentSlide('<div classe="drag-x" id="slide14_gp"></div>');
AddHTMLToCurrentSlide('<div id="slide14_empty"></div>');
AddHTMLToCurrentSlide('<div id="slide14_25mg"></div>');
AddHTMLToCurrentSlide('<div id="slide14_50mg"></div>');


     $(function () {

    $("#slide14_gc").hide(); //here work
    $("#slide14_gp").show();

    $("#slide14_gc").draggable({
    handle:"#slide14_gc",
    containment: [50,105,625,48],
    axis: "x"
    });

    $("#slide14_gp").draggable({
    handle:"#slide14_gc",
    containment: [50,105,625,48],
    axis: "x"
    });





     var part =parseInt($('#slide14_gc').css('left'));
     var maxlungh =parseInt($('#slide14_gc').css('width'));
     var arr = parseInt(part) + parseInt(maxlungh); 
     var pos =$("#slide14_gc").position();

     if(pos == part){
         $("#slide14_gc").hide();
         $("#slide14_gp").show();
        $("#slide14_empty").show(); //not show
        $("#slide14_25mg").hide(); //not hide
        $("#slide14_50mg").hide(); //not hide
     }

     if(pos>part && pos<265){
         $("#slide14_gc").show();
        $("#slide14_gp").hide();
        $("#slide14_empty").hide(); //not hide
        $("#slide14_25mg").show(); //not show
        $("#slide14_50mg").hide(); //not hide

     }

     if(pos>265 && pose<arr){
        $("#slide14_empty").hide(); //not hide
        $("#slide14_25mg").hide();  //not hide
        $("#slide14_50mg").show();  //not show
     }





});
4

2 回答 2

1

尝试创建新的 css 类,并添加或删除它们:

.hide {
  display: none!important;
}


$("#slide14_25mg").addClass("hide"); 
$("#slide14_50mg").removeClass("hide");  
于 2013-09-18T14:22:24.530 回答
0

我认为您脚本中的问题是jQueryposition方法不返回 int。引用 jQuery 的文档:

返回一个包含属性 top 和 left 的对象。

您正在比较pos哪个是带有整数的对象,因此不执行任何 if 块(因为不满足任何条件)。

于 2013-09-18T14:20:03.963 回答