我想要一个脚本,可以根据用户点击的链接更改embed src
而不加载页面。
<?php
echo "<a href='http://google.com' onclick='javascript:void(0);' onclick='javascript:popWhenClicked(this.href);'>Google.com</a><br />";
echo "<a href='http://bing.com' onclick='javascript:void(0);' onclick='javascript:popWhenClicked(this.href);'>Bing.com</a><br />";
echo "<embed src='http://yahoo.com' width='700px' height='500px' />";
?>
<script type='text/javascript'>
function popWhenClicked(href) {
document.getElementsByTagName("embed").setAttribute('src', 'href');
}
</script>
答案 0 :(得分:0)
1)从JPanel comp = new JPanel();
comp.setLayout(new GridLayout(1, 20));
for (int i = 0; i < 20; i++) {
comp.add(new JLabel(String.format(" %d", i)));
}
JScrollPane scroll = new JScrollPane(comp, JScrollPane.VERTICAL_SCROLLBAR_NEVER, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
BiConsumer<Integer, Integer> setview = (x, y) -> {
Point p = scroll.getViewport().getViewPosition();
scroll.getViewport().setViewPosition(new Point(p.x + x, p.y + y));
};
JButton left = new JButton("<");
left.addActionListener(e -> setview.accept(-10, 0));
JButton right = new JButton(">");
right.addActionListener(e -> setview.accept(+10, 0));
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(scroll, BorderLayout.CENTER);
frame.add(right, BorderLayout.EAST);
frame.add(left, BorderLayout.WEST);
frame.pack();
frame.setVisible(true);
功能中删除引号'
。 setAttribute
是作为参数传递的变量
2)在href
函数中选择对象内的第一个元素。 popWhenClicked
获取与选择器匹配的元素列表。
3)不要多次分配getElementsByTagName
,但只使用一次。而是在onclick
函数中执行return false
。
所以这样做:(点击 bing ,谷歌会抛出错误)
popWhenClicked
&#13;
function popWhenClicked(href) {
document.getElementsByTagName("embed")[0].setAttribute('src', href);
// Prevent link from going to target
return false;
}
&#13;