Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery滚动仅在第一次选择之后发生_Javascript_Php_Jquery_Mouseevent_Onchange - Fatal编程技术网

Javascript jQuery滚动仅在第一次选择之后发生

Javascript jQuery滚动仅在第一次选择之后发生,javascript,php,jquery,mouseevent,onchange,Javascript,Php,Jquery,Mouseevent,Onchange,我的jQuery有一个奇怪的问题。我有一个元素,一旦选择了下拉选项,我就想切换到该元素。奇怪的是,它只有在第一次更改后才会触发。它不会在第一次更改时滚动到正确的元素,而是在随后的更改中滚动到正确的元素 为什么它忽略了第一个呢?可能我选择了错误的事件属性?我试过其他的方法,比如mouseleave(),但没有成功。我觉得我使用了right属性,因为我希望它在用户选择或更改下拉值时滚动 任何帮助都将不胜感激 请在下面找到我的代码: home.php //SCROLL TO TRANSFER GU

我的jQuery有一个奇怪的问题。我有一个元素,一旦选择了下拉选项,我就想切换到该元素。奇怪的是,它只有在第一次更改后才会触发。它不会在第一次更改时滚动到正确的元素,而是在随后的更改中滚动到正确的元素

为什么它忽略了第一个呢?可能我选择了错误的事件属性?我试过其他的方法,比如mouseleave(),但没有成功。我觉得我使用了right属性,因为我希望它在用户选择或更改下拉值时滚动

任何帮助都将不胜感激

请在下面找到我的代码:

home.php

  //SCROLL TO TRANSFER GUIDE ON click

      $("#major").on('change',function() {
        $('html, body').animate({
        scrollTop: $("#scrollHere").offset().top
      }, 1000);
      });
<?php
session_start();
require 'db_connect_clearmaze.php';
?>

<body>

<h3 align="center" class="header whitetext">Choose Your Major</h3>

<?php
  $uni = trim($_GET['uni']);
  $_SESSION['uni'] = $uni;
  $cc = $_SESSION['cc'];
?>


<form align="center">
    <select id = "major" class="dropbtn" onmouseover="DropListMajor()"
  onmouseout="this.size=1;" onchange="loadTransferGuide(this.value,'<?php echo $uni; ?>','<?php echo $cc; ?>')">
    <?php
    echo '<option value=""> Select Your Major </option>';
        $query = $db -> query("SELECT major FROM majors WHERE university = '".$uni."';");
        while($row = $query -> fetch()){
            echo '<option value = "'.$row['major'].'">' ?>
            <?php echo $row['major'].'<br>' ?> <?php '</option>';
        }

     ?>

    </select>

</form>

</body>
major.php

  //SCROLL TO TRANSFER GUIDE ON click

      $("#major").on('change',function() {
        $('html, body').animate({
        scrollTop: $("#scrollHere").offset().top
      }, 1000);
      });
<?php
session_start();
require 'db_connect_clearmaze.php';
?>

<body>

<h3 align="center" class="header whitetext">Choose Your Major</h3>

<?php
  $uni = trim($_GET['uni']);
  $_SESSION['uni'] = $uni;
  $cc = $_SESSION['cc'];
?>


<form align="center">
    <select id = "major" class="dropbtn" onmouseover="DropListMajor()"
  onmouseout="this.size=1;" onchange="loadTransferGuide(this.value,'<?php echo $uni; ?>','<?php echo $cc; ?>')">
    <?php
    echo '<option value=""> Select Your Major </option>';
        $query = $db -> query("SELECT major FROM majors WHERE university = '".$uni."';");
        while($row = $query -> fetch()){
            echo '<option value = "'.$row['major'].'">' ?>
            <?php echo $row['major'].'<br>' ?> <?php '</option>';
        }

     ?>

    </select>

</form>

</body>

选择你的专业

更改
事件处理程序
$(“#主要”)。在('change',function(){…}
中定义了另一个
更改
处理程序

所以在第一次更改中,第一个内联处理程序定义了第二个处理程序

这就是为什么它没有在第一次改变时开火

我猜是因为它符合所描述的行为…
但也正是因为有了这条评论,
//单击可滚动至转账指南


是否有可能
$(“#主要”).on('change',function()
loadTransferGuide(…)
中?@LouySpatriceCebeset提出了很好的建议,但不幸的是对我不起作用:(有一秒钟我以为你有什么想法!还有其他想法吗?@Louyspatricebesette刚刚在文档的其他地方尝试了该函数的另一种定位,效果非常好!非常感谢!!!