2016-08-22 96 views
0

我使用的是WordPress。WordPress的附件页面导航键盘

我想导航我的附件页left and right key。

这是我的代码,但不工作;

function GoToLocation(url) 
 
    { 
 
    window.location = url; 
 
    } 
 

 
    Mousetrap.bind("j", function() { 
 
    //alert('j pressed' + document.getElementById("next").href); 
 
    //document.getElementById("next").click(); 
 
    window.location=<?php echo $image->next_image_link ?>; 
 
    });
<script src="https://craig.global.ssl.fastly.net/js/rainbow-custom.min.js?39e99"></script> 
 
<script src="https://craig.global.ssl.fastly.net/js/mousetrap/mousetrap.js?bc893"></script>

如果我改变

window.location=<?php echo $image->next_image_link ?>; 

这个

window.location="http://mylink.com"; 

脚本运作良好。但我不能使用基于WordPress的链接(如next_image_link();

我该怎么办?

回答

0

我做我自己,

首先添加此顶部

<script src="https://craig.global.ssl.fastly.net/js/rainbow-custom.min.js?39e99"></script> 
 
<script src="https://craig.global.ssl.fastly.net/js/mousetrap/mousetrap.js?bc893"></script>
然后加入这个剧本太

function GoToLocation(url) 
    { 
    window.location = url; 
    } 
    Mousetrap.bind("right", function() { 
document.getElementById('next-page').click(); 
    }); 



function GoToLocation(url) 
    { 
    window.location = url; 
    } 
    Mousetrap.bind("left", function() { 
document.getElementById('prev-page').click(); 
    }); 

最后,把“下页”,“上一页页的” ID例如向链接标签 的位置;

<a id="next-page"></a> 

<a id="prev-page"></a> 

所以,当你向左或向右按​​下键盘按键,脚本将工作做好。请参阅亚

0

window.location=<?php echo $image->next_image_link ?>;替换为 window.location="<?php echo $image->next_image_link ?>";。您的字符串声明无效,因此无法工作。

PHP不引用带引号的链接。

编辑:WordPress的不打印只是网址。它打印链接元素。因此,该解决方案将是

  1. 绑定到现有的导航
  2. 使用正则表达式来切断HTMT语法

    var element = '<?php echo $image->next_image_link ?>'; window.location = element.match(/href="([^"]*)/)[1];

+0

感谢您的帮助,但是当我用编辑的代码按“j”时,页面正在重新加载相同的URL。 – ceylankral

+0

我做了一个编辑,现在应该没问题。 – pr0gramist