不可能使用onClick

use onClick not possible

本文关键字:onClick 不可能      更新时间:2023-09-26

我有2div和1 iframediv。所以,我只需要添加动画来移动这个div到左边,我不知道怎么做,因为我已经onClick了。你能帮我吗?

<div id="page3" onClick='document.getElementById("ifr").src="text2.html";'>2</div>
<div id="page1" onClick='document.getElementById("ifr").src="text1.html";'>1</div>
<div id="middlediv"><iframe id='ifr' width='100%' height='100%' src="text1.html"</iframe></div> 

非常感谢!!

那么,现在我有了这个java代码:

function proc1(){
wwidth=window.innerWidth;
wheight=window.innerHeight;
document.getElementById('rightdiv').style.height=wheight-200-10+'px';
document.getElementById('leftdiv').style.height=wheight-200-10+'px';
document.getElementById('middlediv').style.height=wheight-200-10+'px';
document.getElementById('middlediv').style.width=wwidth-200-10+'px';
}
function MoveGridLeft()
{
   $('#page3').animate({
   'marginLeft' : "+=50px"
   });
 }

和这个脚本笔画<script type="text/javascript" src="jquery.min.js" src="1.js">1.js有上面的代码。动画不工作,脚本不工作

所有内联处理程序(如onclick)中的javascript代码都自动封装在函数中,参见SO上的这个问题。

因此,没有理由不能添加额外的语句(或函数调用),例如:
onclick="document.getElementById('ifr').src='text1.html'; moveDivLeft();"

更新(对你更新的问题):

  • Java与javascript等EcmaScript方言没有关系。
  • 你从Shafqat Masood的答案中复制的(依赖于JQuery的)函数MoveGridLeft增加了左边距,所以它将div移动到而不是移动到。根据你的代码,你需要设置正确的属性(如左|右位置|边距)来实现你的目标(考虑到你现有的标记/布局/风格)。看看这个例子 jsfiddle基于你所有的评论(在这个问题下面):jsfiddle.net/t74fT/3/
  • 行:<script type="text/javascript" src="jquery.min.js" src="1.js">是错误的:你给了它2个源,这是无效的标记。
    每个(外部)脚本都有自己的脚本标签,比如:
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="1.js"></script>
    注意,现在您有3个文件,而不是像您最初要求的那样只有1个。

可以在一个事件中调用两个函数

onClick='document.getElementById("ifr").src="text2.html"; MoveGridLeft();'

移动

function MoveGridLeft()
{
   $('#page3').animate({
   'marginLeft' : "-=50px"
   });
 }

更新:

从此链接下载jQuery文件,并将引用添加到项目中:

<script type="text/javascript" src="/scripts/jquery-1.9.1.min.js"></script>

这篇文章解释了如何使用CSS3来制作动画