【问题标题】:JS popup does't works comparison operatorJS 弹出窗口不起作用比较运算符
【发布时间】:2014-11-11 16:01:00
【问题描述】:

我有 5 个链接和迷你预览照片和 url 3 个链接,当我点击好的链接时,它的好链接 opsss 和 upsss 是错误的,当我点击错误链接时,我将进入新页面 attr href 更改为 adresError,然后我们有弹出窗口这仅适用于第一次第二次点击所有链接有一个弹出窗口,应该只有 opsss 和 upsss

http://jsfiddle.net/3ptktp47/1/

这是我的代码:

var nameError = [
            "opsss",
            "upsss",
            ];
$(function() {  
    $('#prev').hide();
    $(function() { 
        var title_link = 'kliknij aby podejżeć';
        $(".preview-link a")
            .attr({title: title_link})
            //.tooltip()
            .click(function(){

            $('.preview-link a img').css('opacity',1);


            var sciezka = $(this).attr("href");
            var tytul = $(this).attr("title");
            var adres = $(this).text();
            //alert(adres);
            $(".duzy").attr({ src: sciezka, alt: tytul, style:'cursor:pointer;', href:'http://www.'+ adres,'target':'_blank'});
            $('.link').html(adres).attr({href:'http://www.'+ adres,'target':'_blank'});
            $('#prev').show();


            function errorDomain() {
                $('.link, .duzy').removeAttr('href');
                $('.link, .duzy').click(function(event){
                    $('#popup, .popup-bg').show('slow');
                    $('.server_url').html(adresError).attr({href:'http://'+ adresError,'target':'_blank'});
                });

            };

                if(adres == 'opsss.com'){
                    var adresError = 'x4ql.nazwa.pl/'+ nameError[0];
                    errorDomain();
                }else if(adres == 'upsss.com' ){
                    var adresError = 'x4ql.nazwa.pl/'+ nameError[1];
                    errorDomain();
                }else{
                    //$('#popup, .popup-bg').fadeOut();
                };


                $('.cancel, .popup-bg').click(function(event){
                    $('#popup, .popup-bg').fadeOut();
                });

            return false;
        });



        $('.close').click(function(){
            $('#prev').hide();
        });
        $('.link').mouseover(function(){
            $(this).css({style: 'color:#000;'});
        });
    });
});

【问题讨论】:

  • 我不清楚这个问题是什么。你能解释一下出了什么问题吗?
  • 你的代码有什么问题?
  • 我有 5 个链接和迷你预览照片和 url 3 个链接,当我点击好的链接时,它的好链接 opsss 和 upsss 是错误的,当我点击错误链接时,我将进入新页面 attr href 更改为 adresError然后我们有弹出窗口这仅适用于第一次第二次单击所有链接都有一个弹出窗口并且应该只有 opsss 和 upsss
  • @martex 标点符号,老兄...

标签: javascript jquery


【解决方案1】:

已编辑: 好的,我能够处理您的问题。

每次单击此方块时,errorDomain() 方法中的 .click() 事件都会触发。我设法在if-statement 中使用toggleClass('error') 切换a.duzy 元素上的类,您可以在其中检查地址。 在您的 click() 事件中,if-statement 正在检查 .duzy 元素是否具有名为 errorhasClass('error') 的类,这具有以下结果 -

TRUE- 将显示您的弹出窗口

FALSE - 没有任何反应

我希望我的回答足够清楚,但请查看 edited fiddle。

编辑源

您的errorDomain() 方法

function errorDomain() {
  $('.link, .duzy').removeAttr('href');
   $('.duzy, .link').click(function (event) {
      if ($(this).hasClass("error")) {
          $('#popup, .popup-bg').show('slow');
             $('.server_url').html(adresError).attr({
                href: 'http://' + adresError,
                'target': '_blank'
             });
          }
   });
}

if-statements

if (adres == 'opsss.com') {
    var adresError = 'x4ql.nazwa.pl/' + nameError[0];
    $('a.duzy').toggleClass("error");
    errorDomain();
} else if (adres == 'upsss.com') {
    var adresError = 'x4ql.nazwa.pl/' + nameError[1];
    $('a.duzy').toggleClass("error");
    errorDomain();
} else {
    $('a.duzy').removeClass("error");
}

Edited fiddle

【讨论】:

  • 我有 5 个链接和迷你预览照片和 url 3 个链接,当我点击好的链接时,它的好链接 opsss 和 upsss 是错误的,当我点击错误链接时,我将进入新页面 attr href 更改为 adresError然后我们有弹出窗口这仅适用于第一次第二次单击所有链接都有一个弹出窗口并且应该只有 opsss 和 upsss
  • 这就是我的意思:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多