Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
Jquery中的PHP_Php_Jquery - Fatal编程技术网

Jquery中的PHP

Jquery中的PHP,php,jquery,Php,Jquery,我正在开发wordpress主题,现在我正在开发主题选项页面。我添加了一个带有“选择”方法的选项,让用户可以选择更改滑块的效果。现在。。。这是文本输入的输出,用于设置外汇持续时间,工作正常!我的问题是不起作用。 尝试了我所知道和想象的一切(语法、顺序、将开关放入jquery脚本等),搜索了web,但什么也没找到。。。你能帮我吗?提前谢谢 <?php switch (get_option('wis_fx_slider')) { case "opacity":

我正在开发wordpress主题,现在我正在开发主题选项页面。我添加了一个带有“选择”方法的选项,让用户可以选择更改滑块的效果。现在。。。这是文本输入的输出,用于设置外汇持续时间
,工作正常!我的问题是
不起作用。 尝试了我所知道和想象的一切(语法、顺序、将开关放入jquery脚本等),搜索了web,但什么也没找到。。。你能帮我吗?提前谢谢

<?php 

      switch (get_option('wis_fx_slider')) {
      case "opacity":
      $fxSample = "opacity : 'toggle',"; 
      break;
      case "width":
      $fxSample = "width : 'toggle',"; 
      break;
      case "opawidth":
      $fxSample = "opacity : 'toggle', width : 'toggle',"; 
      break;
      case "blink":
      $fxSample = "opacity : 'show',"; 
      break;
      }

?>


<script type="text/javascript">
    jQuery(document).ready(function($){
        $("#photo-rotator").tabs({fx:{<?php echo $fxSample ?>
        duration: <?php echo get_option('wis_fx_speed'); ?> }}).tabs("rotate", 2000);
    });
</script>

您需要在每个php行后面加一个分号

...
$("#photo-rotator").tabs({fx:{<?php echo $fxSample; ?>
...
  • 也许这是一个范围问题?尝试定义

    $fxSample = "";
    
    在Begging,在切换之前


  • 要安全地将任何PHP值输出为JavaScript值,请使用

    …{fx:,持续时间:}。。。
    
    还请注意,您缺少一个
    ,并且代码中有一个额外的
    }
    。始终查看生成的结果以查找语法错误。

    是否
    get\u选项(“wis\u fx\u滑块”)
    返回开关案例中的一个选项

    您尚未指定“默认值”,因此
    $fxSample
    将处于未定义状态

    <?php 
    
    switch (get_option('wis_fx_slider')) {
        case "opacity":
            $fxSample = "opacity : 'toggle',"; 
            break;
        case "width":
            $fxSample = "width : 'toggle',"; 
            break;
        case "opawidth":
            $fxSample = "opacity : 'toggle', width : 'toggle',"; 
            break;
        default: // blink or anything else
            $fxSample = "opacity : 'show',";
    }
    
    ?>
    
    选项卡(“旋转”,2000年);
    查看源代码时会发生什么?PHP是否正确布局了动态生成的javascript?你能发布输出吗

    还有,格式化

    <?php 
    
    switch (get_option('wis_fx_slider')) {
        case "opacity":
            $fxSample = "opacity : 'toggle',"; 
            break;
        case "width":
            $fxSample = "width : 'toggle',"; 
            break;
        case "opawidth":
            $fxSample = "opacity : 'toggle', width : 'toggle',"; 
            break;
        case "blink":
            $fxSample = "opacity : 'show',"; 
            break;
    }
    
    ?>
    
    
    <script type="text/javascript">
        jQuery(document).ready(function($){
            $("#photo-rotator").tabs({
                fx: {
                    <?php echo $fxSample ?>
                    duration: <?php echo get_option('wis_fx_speed'); ?>
                }
            }).tabs("rotate", 2000);
        });
    </script>
    

    当我需要将一些数据传递给JavaScript时,我发现先构建一个PHP数组,然后使用
    json\u encode
    将其转换为JavaScript很有帮助。这避免了许多潜在问题:

    <?php 
      $tab_options = array(
        'duration' => get_option('wis_fx_speed'),
        'fx' => array()
      );
      switch (get_option('wis_fx_slider')) {
        case 'opacity':
          $tab_options['fx']['opacity'] = 'toggle';
          break;
        case 'width':
          $tab_options['fx']['width'] = 'toggle';
          break;
        case 'opawidth':
          $tab_options['fx']['opacity'] = 'toggle';
          $tab_options['fx']['width'] = 'toggle';
          break;
        case 'blink':
          $tab_options['fx']['opacity'] = 'show';
          break;
      }
    ?>
    
    <script type="text/javascript">
      var tabOptions = <?php echo json_encode($tab_options); ?>;
      jQuery(document).ready(function($) {
        $('#photo-rotator').tabs(tabOptions).tabs('rotate', 2000);
      });
    </script>
    
    
    var-tabOptions=;
    jQuery(文档).ready(函数($){
    $(“#照片旋转器”).tabs(tabOptions).tabs('rotate',2000);
    });
    
    好处:

    • 更干净的代码(更容易阅读)
    • 对于所有可能的情况,您不必担心逗号、引号和其他语法是否正确。例如,正如其他人所提到的,您没有
      default
      案例。如果选项值无效,这种方法至少会生成有效的JavaScript

    看起来您在
    $fxSample?>
    之后缺少一个逗号。另外,请确保您的持续时间是一个数字而不是一个字符串。结果是什么?浏览器错误控制台中是否显示任何javascript错误?Kevin我没有在
    $fxSample?>
    后缺少逗号。。。逗号位于
    $fxSample=“opacity:‘toggle’**,**”!看起来它是空的。在switch语句中设置一个默认值,然后查看是否出现。如果打印了默认值,我建议检查
    get\u选项('wis\u fx\u slider')
    的输出,以确认其是否符合预期。我相信您在echo结尾缺少分号。您是对的,我缺少分号,现在添加了它,但没有任何更改。您说“没有结果”是什么意思?它一定是在做什么,或者你真的,真的做错了?我给你看我的代码。。。这段代码是为我试图让它工作的选择部分编写的。谢谢你的回答,但是你提供的代码打破了整个滑块。stevether wis_fx_speed工作正常,$fxSample是一个不工作的部分,当你查看Source时,你需要发布它,以便我们可以帮助你。你必须比“没有工作”更具体。发布生成的HTML和JavaScript。找出您的代码是否正在生成PHP错误。试着弄清楚到底发生了什么,而不是期望我们为您完成所有的编码和调试
    <?php 
    
    switch (get_option('wis_fx_slider')) {
        case "opacity":
            $fxSample = "opacity : 'toggle',"; 
            break;
        case "width":
            $fxSample = "width : 'toggle',"; 
            break;
        case "opawidth":
            $fxSample = "opacity : 'toggle', width : 'toggle',"; 
            break;
        default: // blink or anything else
            $fxSample = "opacity : 'show',";
    }
    
    ?>
    
    duration: '<?php echo get_option('wis_fx_speed'); ?>' }}).tabs("rotate", 2000);
    
    <?php 
    
    switch (get_option('wis_fx_slider')) {
        case "opacity":
            $fxSample = "opacity : 'toggle',"; 
            break;
        case "width":
            $fxSample = "width : 'toggle',"; 
            break;
        case "opawidth":
            $fxSample = "opacity : 'toggle', width : 'toggle',"; 
            break;
        case "blink":
            $fxSample = "opacity : 'show',"; 
            break;
    }
    
    ?>
    
    
    <script type="text/javascript">
        jQuery(document).ready(function($){
            $("#photo-rotator").tabs({
                fx: {
                    <?php echo $fxSample ?>
                    duration: <?php echo get_option('wis_fx_speed'); ?>
                }
            }).tabs("rotate", 2000);
        });
    </script>
    
    <?php 
      $tab_options = array(
        'duration' => get_option('wis_fx_speed'),
        'fx' => array()
      );
      switch (get_option('wis_fx_slider')) {
        case 'opacity':
          $tab_options['fx']['opacity'] = 'toggle';
          break;
        case 'width':
          $tab_options['fx']['width'] = 'toggle';
          break;
        case 'opawidth':
          $tab_options['fx']['opacity'] = 'toggle';
          $tab_options['fx']['width'] = 'toggle';
          break;
        case 'blink':
          $tab_options['fx']['opacity'] = 'show';
          break;
      }
    ?>
    
    <script type="text/javascript">
      var tabOptions = <?php echo json_encode($tab_options); ?>;
      jQuery(document).ready(function($) {
        $('#photo-rotator').tabs(tabOptions).tabs('rotate', 2000);
      });
    </script>