在javascript中显示和隐藏图像

时间:2013-09-18 14:13:55

标签: javascript jquery image

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

    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
     }





});

2 个答案:

答案 0 :(得分:1)

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

.hide {
  display: none!important;
}


$("#slide14_25mg").addClass("hide"); 
$("#slide14_50mg").removeClass("hide");  

答案 1 :(得分:0)

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

  

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

您将作为对象的pos与整数进行比较,因此不执行任何if块(因为没有满足任何条件)。