Javascript 轨道5和x2B;JQuery进度条不工作
实现JQuery进度条,以便在向下滚动时 它应该在顶部显示一个绿色条。当我开始滚动时,进度条不会出现。我检查了条上的元素它显示宽度%向上看屏幕截图 scroll.jsJavascript 轨道5和x2B;JQuery进度条不工作,javascript,jquery,html,css,ruby-on-rails,Javascript,Jquery,Html,Css,Ruby On Rails,实现JQuery进度条,以便在向下滚动时 它应该在顶部显示一个绿色条。当我开始滚动时,进度条不会出现。我检查了条上的元素它显示宽度%向上看屏幕截图 scroll.js $(document).on('scroll', function() { var pixelsFromTop = $(document).scrollTop() var documentHeight = $(document).height() var windowHeight = $(window).hei
$(document).on('scroll', function() {
var pixelsFromTop = $(document).scrollTop()
var documentHeight = $(document).height()
var windowHeight = $(window).height()
var difference = documentHeight - windowHeight
var percentage = 100 * pixelsFromTop / difference
$('.bar').css('width', percentage + '%')
})
show.html.erb
<div class="progress">
<div class="bar"></div>
</div>
<section class="day">
<h2><%= "To make #{number_to_currency @product.revenue}" %></h2>
<p class="lead"><%= "You need to make #{number_to_currency @product.monthly_amount} a month" %><br/>
<%= "You need to make #{number_to_currency @product.daily_amount} a day" %></p>
</section>
<section class="people">
<h2>Or if you create and sell a product</h2>
<table>
<p class="lead"><%= "To make #{@product.revenue } 10,000 people to buy a
#{number_to_currency @product.create_and_sell_product_10000} product" %><br/>
<%= "To make #{@product.revenue } 5,000 people to buy a
#{number_to_currency @product.create_and_sell_product_5000} product" %><br/>
<%= "To make #{@product.revenue } 2,000 people to buy a
#{number_to_currency @product.create_and_sell_product_2000} product" %><br/>
<%= "To make #{@product.revenue } 1,000 people to buy a
#{number_to_currency @product.create_and_sell_product_1000} product" %><br/>
<%= "To make #{@product.revenue } 100 people to buy a
#{number_to_currency @product.create_and_sell_product_100} product" %></p>
</table>
</section>
产品控制器.rb
def set_product
@product = Product.find(params[:id])
end
我的路线上有这个
Rails.application.routes.draw do
resources :products
root 'products#new'
end
Started POST "/products" for 127.0.0.1 at 2017-08-16 17:03:11 +0100
Processing by ProductsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"ZU4tSNn0PsbSL2CTB45yIuBlrn5OePTYPSbIcdKThzJuu/k7GsiIhFf7JJ98pC5NmhGVg5QyekokpzR1s4tv4A==", "product"=>{"revenue"=>"2000", "months"=>"2"}, "commit"=>"Show Me How Much to Charge!"}
(0.9ms) BEGIN
SQL (3.5ms) INSERT INTO "products" ("revenue", "months", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [["revenue", "2000.0"], ["months", 2], ["created_at", "2017-08-16 16:03:11.679460"], ["updated_at", "2017-08-16 16:03:11.679460"]]
(46.6ms) COMMIT
Redirected to http://localhost:3000/products/82
Completed 302 Found in 57ms (ActiveRecord: 51.0ms)
Started GET "/products/82" for 127.0.0.1 at 2017-08-16 17:03:11 +0100
Processing by ProductsController#show as HTML
Parameters: {"id"=>"82"}
Product Load (0.3ms) SELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT $2 [["id", 82], ["LIMIT", 1]]
Rendering products/show.html.erb within layouts/application
Rendered products/show.html.erb within layouts/application (7.2ms)
Completed 200 OK in 398ms (Views: 395.0ms | ActiveRecord: 0.3ms)
Started GET "/products/scroll.js" for 127.0.0.1 at 2017-08-16 17:03:12 +0100
Processing by ProductsController#show as JS
Parameters: {"id"=>"scroll"}
Product Load (0.3ms) SELECT "products".* FROM "products" WHERE "products"."id" = $1 LIMIT $2 [["id", 0], ["LIMIT", 1]]
Completed 404 Not Found in 1ms (ActiveRecord: 0.3ms)
ActiveRecord::RecordNotFound (Couldn't find Product with 'id'=scroll):
app/controllers/products_controller.rb:67:in `set_product'
此错误
ActiveRecord::RecordNotFound(找不到id为scroll的产品)
由不正确的资产路径触发。当您查看app/layouts/application.html.erb
时,您将看到
<script src="scroll.js"></script>
或
只需从application.js
调用它,如下所示
//= require scroll
产生
<script src="/assets/scroll.js?body=1"></script>
我建议您阅读一下,以便更好地理解。是什么触发了此请求
Started GET”/products/scroll.js“
?它与resourceful show route冲突,因为Rails需要url中的:id
,所以它将scroll
视为id
,这导致了该错误。在我的routes中,我有资源:产品没问题,但我想知道是什么触发了该请求启动了“/products/scroll.js”
?我转到根目录“products#new”将信息添加到products/_form.html.erb。点击提交。它会转到显示页面-。添加了heroku日志,其中显示了触发的请求添加了代码&只有在progressdiv类中添加一些文本时,它才能工作。如果我没有添加任何文本,它不会显示进度条。但是谢谢&我会再次查看资产管道!
//= require scroll
<script src="/assets/scroll.js?body=1"></script>