我对javascript很陌生,但是我试图创建一个计数器,但是当我设置计数器时。它看起来给了我相同的价值,但我想要第一轮<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/user_dashboard_fragment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
tools:context=".Dashboard">
<androidx.constraintlayout.widget.ConstraintLayout
android:padding="40dp"
android:id="@+id/userInfoContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.github.abdularis.civ.CircleImageView
android:id="@+id/userImage"
android:layout_width="match_parent"
android:layout_height="0dp"
android:padding="20dp"
android:scaleType="fitCenter"
android:src="@drawable/male_user_sample1"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/username_sample"
android:textColor="@color/colorPrimaryDark"
android:textSize="30sp"
app:layout_constraintTop_toBottomOf="@id/userImage" />
<com.ramijemli.percentagechartview.PercentageChartView
android:id="@+id/userLevelProgress"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="20dp"
android:outlineAmbientShadowColor="@color/colorPrimary"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/username"
app:pcv_animDuration="1000"
app:pcv_animInterpolator="anticipate_overshoot"
app:pcv_drawBackground="false"
app:pcv_drawBackgroundBar="false"
app:pcv_mode="ring"
app:pcv_orientation="counter_clockwise"
app:pcv_progress="100"
app:pcv_startAngle="270"
app:pcv_textColor="@color/colorPrimary"
app:pcv_textShadowRadius="100"
app:pcv_textSize="50sp" />
<TextView
android:id="@+id/userLevel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/level_sample"
android:textColor="@color/colorPrimary"
android:textSize="40sp"
app:layout_constraintTop_toBottomOf="@id/userLevelProgress" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
1 then 2 then 3 to n-1
答案 0 :(得分:0)
这是因为变量contactsNum
对于函数计时器而言是本地的,并且随后每次对函数timer
的调用都将初始化值0。如果要跟踪该值,可以使用闭包。
答案 1 :(得分:-1)
问题在这里:
<input [ngModel]="CustomerVM.customer.CustomerDob | date:'yyyy-MM-dd'" (ngModelChange)="CustomerVM.customer.CustomerDob=$event" type="date" name="MemberDateOfBirth" class="form-control" (blur)="Calculate_Age(CustomerVM.customer.CustomerDob)">
您正在function timer(){
var contactsNum = 0;
contactsNum++;
console.log(contactsNum)
}
中定义和分配变量。也就是说,每次timer
被调用时,timer
被设置为0。
您需要将其放在函数之外,例如:
contactsNum
答案 2 :(得分:-1)
欢迎来到JavaScript社区!似乎您每9秒调用一次计时器功能,但是您还要将每个呼叫的 contactsNum 计数器值设置为 0 。因此,在第一个函数调用中,contactsNum会增加为1,但在下一个函数中,它会根据var contactsNum = 0;
然后首先将其设置为0,然后将其递增
您可以通过简单地在范围发生增加的范围之外初始化或声明计数器变量来解决此问题,例如:
var contactsNum = 0;
function timer(){
contactsNum++;
console.log(contactsNum)
}
(function loop() {
setTimeout(function () {
timer()
loop()
}, 9000);
}());