我遇到了jQuery hide()和show()函数最奇怪的问题.
我正在开发的网站(开发版)就在这里
在页面上,您将看到名为Hydrate的特色产品下的产品.这个产品有一些风味选项,所以我想要做的就是当用户点击Add to Cart按钮时它会显示一个默认隐藏的图层.请看这里的两个屏幕截图:


但是,当我单击"添加到购物车"按钮时,该图层不会出现.下面的Firebug屏幕截图显示了点击"添加到购物车"按钮后元素的外观.

请注意,元素样式是"display:block",符合jQuery规范,然后应该覆盖"display:none"的CSS元素样式.我已经完成了数百次,如果不是更多,这是第一次没有用.现在看下面的Firebug截图.如果我在调试控制台中单击display:none旁边的红色斜线圈,则该图层将完全按照应有的方式显示.

以下是我认为相关代码的片段,但我看不出问题出在哪里.
CSS代码:
.carouselProduct {float:left; border:2px solid #e9e9e9; width:223px; min-height:242px; margin:18px 2px 0 2px; position:relative; overflow:hidden;}
.productOptions{
position:absolute;
bottom:0px;
left:0px;
width:211px;
background: url('../images/black_background_75.png');
z-index:99999;
padding: 6px;
height:170px;
display:none;
}
Run Code Online (Sandbox Code Playgroud)
JS代码:
$(document).ready(function(){
$.noConflict();
jQuery('.add_to_cart_btn').live('click',function(e){
e.preventDefault();
$(this).getForm().sendRequest( 'shop:on_addToCart', {update: {'mini_cart': 'mini:cart'} });
});
jQuery('.choose_options').live('click',function(e){
e.preventDefault();
jQuery('#options_'+jQuery(this).attr('rel')).show();
});
});
Run Code Online (Sandbox Code Playgroud)
注意:我想也许有某些东西干扰了所以我实现了noConflict,但它没有任何区别.另请注意,我在Firebug中没有收到任何JS错误.
HTML代码:
<article class="carouselProduct">
<!--productContent starts here-->
<article class="productContent">
<a href="/shop/product/intensity-hydrate"><img class='productImage' src="/uploaded/thumbnails/db_file_img_33_autox126.png" style="margin: 3px;"></a>
<hgroup>
<h4>Hydrate</h4>
<h3>$25.00</h3>
<h3 class="orange">$15.00</h3>
</hgroup> …Run Code Online (Sandbox Code Playgroud) 我已经使用composer安装了适用于PHP的Amazon SDK.我复制了示例代码并将其实现到我的系统中,但是当我尝试上传文件时,我得到以下内容(我已经将路径设为通用的安全性):
致命错误:未捕获的异常'Aws\S3\Exception\PermanentRedirectException',消息'在请求https://s3.amazonaws.com/mybucket/path/to/image.jpg时遇到永久重定向.你确定你正在使用这个桶的正确区域吗?在/path/to/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49堆栈跟踪:#0 /path/to/vendor/guzzlehttp/promises/src/Promise.php(199): Aws\S3\PermanentRedirectMiddleware-> Aws\S3 {closure}(对象(Aws\Result))#1 /path/to/vendor/guzzlehttp/promises/src/Promise.php(152):GuzzleHttp\Promise\Promise :: callHandler(1,Object(Aws\Result),Array)#2 /path/to/vendor/guzzlehttp/promises/src/TaskQueue.php(60):GuzzleHttp\Promise\Promise :: GuzzleHttp\Promise {closure}() #3 /path/to/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(96):GuzzleHttp\Promise\TaskQueue-> run()#4/path/to/vendor/guzzlehttp/guzzle/src/Handler /CurlMultiHandler.php(123):Gu在第49行的/path/to/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php
在我的composer.json中,我正在指定3.1 Amazon SDK.
在我的PHP中,我正在执行以下操作(基于发布到脚本的几个图像文件):
require $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
use Aws\Credentials\Credentials;
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
$credentials = new Credentials('my-accessKey', 'accessSecret');
try {
$s3Client = S3Client::factory(array(
'credentials' => $credentials,
'region' => 'us-east-1',
'version' => 'latest'
));
} catch (S3Exception $e) {
print_r($e->getMessage());
}
foreach($file['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $file['files']['name'][$key];
$file_tmp = $file['files']['tmp_name'][$key];
try {
$result = $s3Client->putObject(array(
'Bucket' => …Run Code Online (Sandbox Code Playgroud) 我正在使用 Laravel 5.5 并且我正在尝试设置一些快速队列处理。我遇到了一个又一个的障碍。
该网站是雇主/雇员匹配服务。因此,当雇主发布工作职位时,它需要遍历我们系统中的所有员工并计算一些变量,以确定他们与工作的匹配程度。我们已经弄清楚了这一切,但是当系统中有数千名员工时,一次处理一个需要很长时间。所以,我准备写几个表。第一个是定义位置 ID 和状态的简单表。第二个表列出了所有员工 ID、职位 ID 和正在处理的员工的状态。这只需几秒钟即可写入,然后允许用户在应用程序中继续前进。
然后我有另一个服务器设置,每分钟运行一个 cron,检查第一个表中的新条目。找到后,它会将其标记为已开始,然后抓取所有员工并遍历每个员工并在 Laravel 中启动排队作业。我定义的作业确实正确提交到队列,而运行queue:work实际上确实正确处理了作业。这都是经过测试的。
但是,我遇到的问题是,我已经为队列尝试了数据库 (MySQL)、Redis 和 SQS,但它们都非常慢。我正在使用同一台服务器来尝试操作queue:work(使用 Supervisor 并尝试运行多达 300 个进程),但随后创建了 3 个不运行 cron 而仅运行 Supervisor(每个克隆 100 个进程)的克隆,并在第一个服务器。使用数据库它可以正常处理,尽管运行 10k 排队作业需要几个小时,但是使用 SQS 和 Redis 我遇到了很多失败。脚本花费的时间太长或什么的。我检查了运行 worker 的克隆上的 CPU,它们几乎没有达到 40%,所以我不会对服务器过度征税。
我只是在阅读有关地平线的信息,我不确定它是否对这种情况有所帮助。我一直在寻找有关如何使用 Laravel 正确设置队列处理系统的信息,并且一直遇到的问题多于答案。
有没有人熟悉这些东西并且对如何正确设置它有任何建议,以便它非常快速且无故障(假设我的代码没有错误)?
更新:根据其他一些帖子建议,我想我会分享更多细节:
三个克隆中的每一个都具有以下工作器配置:
command=php /home/forge/default/artisan queue:work sqs --sleep=10 --daemon --quiet --timeout=30 --tries=3
process_name=%(program_name)s_%(process_num)02d
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=forge
numprocs=100
stdout_logfile=/home/forge/.forge/worker-149257.log
Run Code Online (Sandbox Code Playgroud)数据库位于 Amazon RDS 上。
我很好奇 …
我遇到了FancyBox的问题.我升级到V2,现在我的FancyBoxes似乎是200px.我曾经能够拥有只50 - 60 px高一点的FB,因为只有一行文字.发生了什么?
我已尝试(单独,但不是同时)将以下内容添加到FB的设置中:
autoSize: true
height: 60
height: '60px'
autoDimensions: true
Run Code Online (Sandbox Code Playgroud)
想法?
我使用Codeigniter 3构建了一个系统,出于某种原因,只有一些用户正在使用白屏.我正在尝试调试它并且已启用日志记录.
我的日志中出现以下错误:
Severity: Notice --> Use of undefined constant VIEWPATH - assumed 'VIEWPATH' /my/server/path/to/system/core/Common.php 196
Severity: Notice --> Use of undefined constant VIEWPATH - assumed 'VIEWPATH' /my/server/path/to/system/core/Exceptions.php 162
Severity: Warning --> include(): Failed opening 'VIEWPATHerrors/html/error_general.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') /my/server/path/to/system/core/Exceptions.php 182
Run Code Online (Sandbox Code Playgroud)
所以似乎核心php文件无法从索引文件中看到已定义的变量.但奇怪的是,如果我在Common.php的顶部定义VIEWPATH,则表示已经设置了VIEWPATH.我在控制器中添加了一个log_message来输出我的VIEWPATH设置,它似乎工作正常.
我无法弄清楚如何克服这个问题.有任何想法吗?
php ×3
jquery ×2
amazon-s3 ×1
css3 ×1
fancybox ×1
html5 ×1
javascript ×1
laravel ×1
laravel-5.5 ×1
queue ×1