显示特定DIV或新窗口或PopUp等中的内容,按自定义<a> tag Attribute</a>

时间:2014-02-21 17:54:22

标签: javascript jquery html ajax

我正在尝试建立一个系统来处理补充页面所需的许多任务,我很确定这是正确的方法,但我似乎无法让它工作。

我希望能够设置自定义属性并让系统设置显示类型。主窗口中的主DIV,或弹出窗口中的主要部分。

<a data-target="#MainFrame" href="Page.php" class="Menu">App</a> 

但我正在使用的代码不断创建 PopUps ,即使我在数据目标中使用 #MainFrame ID。

任何想法或提示都将不胜感激。

    <script>

$('[data-target]')。点击(function(e){

var target = $($(this).attr('data-target'));
$('#loaderImage').show();
if (target = "PopUp") 
{   
newPopup($(this).attr('href')); 
$('#loaderImage').hide();
e.preventDefault();
}   
else   
 {
target.load($(this).attr('href'));
$('#loaderImage').hide();
e.preventDefault();
}
 // prevent anchor from changing window.location

});

  function newPopup(url) {
    popupWindow = window.open(
    url,'popUpWindow','height=450,width=400,left=10,top=10,resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no,directories=no,status=yes');
}
</script>

1 个答案:

答案 0 :(得分:0)

target = "PopUp"行将值“PopUp”分配给目标,并始终评估为“truthy”。

尝试使用double ==进行比较,target == "PopUp"但我不确定它是否会正确评估,因为它是一个jquery对象,它不会= =字符串必然。

尝试这样的事情:

var target = $(this).attr('data-target');
$('#loaderImage').show();
if (target == "PopUp") 
{   
   newPopup($(this).attr('href')); 
   $('#loaderImage').hide();
   e.preventDefault();
}   
else   
{
   $(target).load($(this).attr('href'));
   $('#loaderImage').hide();
   e.preventDefault();
}